wassimmallehwm / sword-task-challenge

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Logo

Tasks manager

This project is developed with Node.js, Express.js, MongoDB, React, Typescript, Tailwind, RabbitMq, Redis, and containerized using Docker - Docker compose and Kubernetes.

screenshot

Important

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

Run the application

Using docker compose

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.

Using kubernetes (Minikube)

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.

Run tests

To run the test of the React or Node.js application, access the app directory (client or server) and run:

  npm run test

About


Languages

Language:TypeScript 61.7%Language:JavaScript 36.4%Language:HTML 1.1%Language:CSS 0.5%Language:Dockerfile 0.3%