This project is developed with Node.js, Express.js, MongoDB, React, Typescript, Tailwind, RabbitMq, Redis, and containerized using Docker - Docker compose and Kubernetes.
For testing purposes, 5 Managers and 20 Technicians are created initially after the app starts.
You can login as a Manager with credentials :
username: manager01
password: manager01
Or as a Technician with credentials :
username: technician01
password: technician01
To run the application using docker compose, clone the repo, then run the command
docker-compose up -d
The app should be working on http://localhost or http://localhost:80.
To run the application using kubernetes, clone the repo, then start by deploying the config and secret files by running the commands :
kubectl apply -f k8s/config.yml
and
kubectl apply -f k8s/secret.yml
Then, in each folder of the services, run the commands :
kubectl apply -f deployment.yml
and
kubectl apply -f service.yml
Note: leave server and mongo-express for the last, they depend on other services.\
The app should be working on http://[YOUR_CLUSTER_IP]:31000.
To run the test of the React or Node.js application, access the app directory (client or server) and run:
npm run test