Webapp to manage your daily tasks
-- Personnal project to work on a docker based architecture with React, Node and Mongodb + experimenting with microservices
Webapp running on docker
- Client => React 18 App
- API + Notifications => Express servers
- Nginx (via docker container) as proxy
- Docker as orchestrator
React app client website
with Docker running url : client.localhost
- PORT : 3000
- PACKAGE MANAGER : NPM
Run dev on local :
npm ci
npm start
On local url : localhost:3000
Node app with express server
with Docker running url : api.localhost/api
- PORT : 3001
- PACKAGE MANAGER : NPM
Run dev on local :
npm ci
npm run dev
On local url : localhost:3001/api
Microservice for handling notifications
with Docker running url : notifications.localhost
- PORT : 3002
- PACKAGE MANAGER : NPM
Run dev on local :
npm ci
npm run dev
On local url : localhost:3002
nginx proxy to orchestrate the above docker containers
- PORT : 80
!! Require docker and docker compose !!
CLIENT => cd /client && npm ci
API => cd /api && npm ci
NOTIFICATIONS => cd /notifications-service && npm ci
Starting containers :
docker compose -f docker-compose.yml -f docker-compose.dev.yml up -d --build
Stopping containers :
docker compose -f docker-compose.yml -f docker-compose.dev.yml down -v
Starting containers :
docker compose -f docker-compose.yml -f docker-compose.prod.yml up -d --build
Stopping containers :
docker compose -f docker-compose.yml -f docker-compose.prod.yml down -v
docker image prune && docker container prune && docker volume prune
!! Requires make !!
Makefile available at the root of the project
- Starting
make docker-dev-up
- Stopping
make docker-dev-down
- Starting
make docker-build-up
- Stopping
make docker-build-down
make docker-clean