A full-featured contact management system built with TypeScript-powered MEAN stack (MongoDB, Express.js, Angular 19, Node.js). Features JWT authentication, responsive Bootstrap 5 UI, Angular SSR, and complete Docker integration. Run as microservices or standalone components with development and production configurations.
A modern, full-stack TypeScript contact management system built with the MEAN stack (MongoDB, Express.js, Angular, Node.js) and containerized with Docker. Perfect for learning full-stack development or as a starting point for your own projects!
# Clone the repository
git clone https://github.com/nitin27may/mean-docker.git
cd mean-docker
# Create environment file
cp .env.example .env
# Start the application
docker-compose -f docker-compose.nginx.yml up
The application supports two deployment modes:
Direct API Access: When using docker-compose.yml
, the frontend connects directly to the Express API at http://localhost:3000/api
Nginx Proxy: When using docker-compose.nginx.yml
, the frontend uses a relative path /api
which Nginx routes to the Express service
This configuration is automatically set during the Docker build process.
Thatβs it! Visit http://localhost in your browser.
Login with:
[email protected]
P@ssword#321
When using the docker-compose.nginx.yml
configuration, all traffic flows through a single port (80):
/api/*
are proxied to the Express.js serviceThe application uses a microservices architecture with four main components:
MongoDb, API and UI running on different ports.
docker-compose up
Full microservices architecture with Nginx:
docker-compose -f docker-compose.nginx.yml up
Component | Documentation |
---|---|
Frontend | Angular application with TypeScript |
Backend | Express.js API with TypeScript |
Database | MongoDB configuration and data models |
Load Balancer | Nginx configuration and routing |
Local Development | Running without Docker |
Weβre constantly improving! Hereβs whatβs coming:
For details, see the complete roadmap.
We welcome contributions! Please see our Contributing Guide for details.
When reporting issues, please use our issue templates:
This project demonstrates several modern web development best practices:
Explore the codebase to learn how these technologies work together in a real-world application!
This project is licensed under the MIT License - see the LICENSE file for details.
Nitin Singh - @nitin27may
Project Link: https://github.com/nitin27may/mean-docker
If you find this project useful, please consider giving it a star on GitHub to show your support!