| 1 |
Project Initialization & Setup |
Scaffold project using Express Generator, set up basic structure and CORS. |
Express JS, Express Generator, CORS |
| 2 |
Product Model & MongoDB Setup |
Define Product schema, connect MongoDB, and build REST APIs for products. |
Mongoose, REST API |
| 3 |
User Auth: Register, Login & JWT |
Create user auth with hashed passwords, JWT, cookies, and middleware. |
JWT, Cookies, Bcrypt |
| 4 |
Shopping Cart System |
Build user cart with product population, add/remove functionality. |
Mongoose Population, Auth |
| 5 |
Order Model & Checkout Flow |
Checkout process, order schema, update product stock, list user orders. |
Mongoose, REST API |
| 6 |
Admin Panel & Authorization |
Role-based access, product and order management by admin users. |
Role-Based Auth, Middleware |
| 7 |
Views with Handlebars |
Build UI with server-side rendering using Handlebars templates. |
Handlebars, Express |
| 8 |
OAuth Integration (Google Login) |
Login with Google using Passport, sync with user auth system. |
OAuth 2.0, Passport.js |
| 9 |
Secure Auth with JWT + Cookies |
Harden auth security, enable HTTP-only cookies, add CSRF protection. |
Secure Cookies, JWT |
| 10 |
BaaS Integration (e.g., Firebase) |
Use Firebase/Supabase for image uploads, analytics, or hosting. |
Firebase/Supabase |
| 11 |
Migration to NestJS |
Refactor app to NestJS for modular structure, scalability, maintainability. |
NestJS, Dependency Injection |
| 12 |
Deployment & Final Polish |
Deploy app, configure env variables, optimize performance & security. |
Deployment, Security, Hosting |