NetShop v2 is a ground-up rebuild of the original NetShop project. This version focuses on clean architecture, real-world patterns, and production-ready fundamentals.
The goal is not to “clone Jumia,” but to build a scalable, understandable e-commerce system that mirrors how real startups structure their products.
- Rebuild NetShop with clear separation of concerns
- Strengthen backend fundamentals (API design, auth, data flow)
- Treat the frontend as a true API consumer
- Build features incrementally with discipline
- Create a solid portfolio-grade project and MVP foundation
- Backend first, frontend second
- Features over pages
- Boring technology, strong fundamentals
- No hidden logic, no magic files
- Readability > cleverness
- Register
- Login
- View products
- Add to cart
- Checkout
- View order history
- Product listing
- Product details
- Stock handling (basic)
- Create order
- Store order data
- Fetch user orders
- Add products
- Edit products
- Delete products
- HTML
- CSS / Bootstrap
- Vanilla JavaScript
- Node.js
- Express.js
- JSON file storage
- MongoDB
- Simple auth (Phase 1)
- JWT-based auth (Phase 2)
backend/
├── server.js
├── routes/
├── controllers/
├── services/
├── middlewares/
├── data/
└── utils/
frontend/
├── pages/
├── css/
├── js/
├── assets/
└── api/
All API requests live inside the
frontend/api/directory. No fetch calls scattered across random files.
GET /api/health
GET /api/productsGET /api/products/:id
POST /api/auth/registerPOST /api/auth/login
POST /api/ordersGET /api/orders/:userId
- Project setup
- API structure
- Product endpoints
- JSON data persistence
- User registration
- Login
- Protected routes
- API helper
- Product listing
- Product details
- Error handling
- Cart logic
- Checkout flow
- Order storage
- Product CRUD
- Simple admin checks
- Manual API testing with Postman / Thunder Client
- Console-based debugging
- Feature-by-feature validation before UI polish
- Meaningful commits only
- One feature per commit
- No “final final” commits
NetShop v2 is designed to evolve into:
- A production-ready MVP
- A scalable startup foundation
- A teaching project for content and mentorship
🚧 Active rebuild in progress 📅 Iterative development 🧠 Learning-driven, not rush-driven