I will do with Behavior-driven development (BDD/TDD) with Waterfall Method. This is a store app, but it's not a multi tenant app!. Thread you as a master not a slave like another app!. This is just tool, That you can use. I Mean the whole app, not just the BE only, if just BE, it's also sucks!.
- Auth
- Google Auth (OAuth2)
-
Firebase Auth (Phone Number) - Bearer Auth
- Magic Link (Concept, verification Only)
- OTP (verification Only)
- Prisma ORM (Concept) - new generator.
- SMTP
- Bundler (Rollup)
- Logger
- Containerize app
- Email Template
- Express Router Wrapper
- DevEx
- React Email (Email Tooling)
- Docker (Containerization)
- Bruno API Client
- Resend (SMTP Server)
- Prisma (Database ORM)
- Vite Build (Bundler)
- Vitest (Unit Test)
- Biome (Linter)
- Husky (commit hook)
- Event (Async Service)
- Payment Module (Payment Gateway Integration)
- Product (App Feature) - In Progress 🏗️
- LLM Invocation (AI) - In Progress 🏗️
- RBAC/ABAC (Owner, Billing, Admin, User)
- Security Best Practice 🏗️
- Unit Test - In Progress 🏗️
- E2E Test
- Swagger API Documentation
- Semi Micro Service (Concept)
- GRPC
- REST APIs 🏗️
- Websocket
# On Builder
pnpm install
pnpm build
# because the repository using husky as git hook
# so it may unset first the prepare script
# read : https://joshtronic.com/2022/07/10/husky-command-not-found-with-npm-install-production/
cd dist
pnpm pkg set scripts.prepare=" "
pnpm install --production --shamefully-hoist
# On runner
node index.js@rpratama-codes
Readable, Maintainable, Future Proof!.
