Dockerized full-stack eCommerce reference application built with Angular, Node.js, Express, and TypeScript.
This repository demonstrates a modular frontend/backend architecture, RESTful API design, containerized local development, and a simple product catalog workflow. It is intended as a reference implementation for learning, experimentation, and portfolio demonstration, rather than a production-ready eCommerce platform.
- Angular
- TypeScript
- SCSS
- Node.js
- Express
- TypeScript
- Docker
- Docker Compose
- MongoDB
.
├── client/ # Angular frontend application
├── server/ # Node.js + Express API
├── docker-compose.yml # Local multi-container setup
└── README.md
- Angular single-page application
- Node.js REST API
- Product listing endpoint
- Product details endpoint
- Dockerized development environment
- Seed script for dummy products
- Separate frontend and backend modules
Angular Client
│
▼
Node.js / Express API
│
▼
MongoDB
- Docker Desktop
- Docker Compose
Clone the repository:
git clone https://github.com/jeebon/cefcom-node-angular.git
cd cefcom-node-angularStart all services:
docker compose up --build| Service | URL |
|---|---|
| Frontend | http://localhost:4200 |
| Backend API | http://localhost:5000 |
Import sample products into the database:
docker compose exec backend sh
npm run import:productsRemove all products:
npm run delete:products- Frontend and backend are developed independently.
- Docker Compose is used to simplify local setup.
- The project focuses on code organization and development workflow rather than production deployment concerns such as authentication, payments, inventory management, or order processing.
Get all products:
GET /api/v1/productsGet a product by id:
GET /api/v1/products/:idPotential future improvements:
- Authentication and authorization
- Shopping cart
- Order management
- Admin dashboard
- Pagination and filtering
- Automated tests
- CI/CD workflow
This project is maintained as a full-stack reference application that reflects my work with:
- Angular frontend development
- Node.js backend services
- REST API design
- TypeScript across the stack
- Docker-based local development
It is intentionally kept smaller than a complete commercial eCommerce system.
This project is available under the MIT License.