This is a full-stack tasking application that incorporates various features for task management.
- Authentication and Authorization: Utilizes JWT for secure user authentication and authorization.
- API Gateway: Implements an API Gateway to manage and route incoming API requests (Acts like a proxy server and handle authentication and authorization).
- Microservices Architecture: Follows the microservices pattern using NestJS for building scalable and maintainable backend services.
- Swagger Documentation: Provides Swagger documentation for the API endpoints (Work in Progress).
- Frontend Application: Utilizes NextJS for the frontend application, offering an intuitive user interface.
- Containerization: Utilizes Docker for containerizing the application.
- Database Integration: Utilizes MongoDB for storing capabilities.
-
Clone the repository and navigate to the project directory.
-
Copy the
.env.example
file and rename it to.env
at the root of the directory. -
Run the following command to start the application using Docker:
docker-compose up -d
-
Access the frontend application in your browser by visiting http://localhost:3000. The backend API runs at http://localhost:8000/api.
- At the moment, it takes longer to build all the containers because the lerna doesn't allow me to have separate node_modules and lockfiles (Work in progress)
- Make sure Docker is installed and running on your local machine.
- For API documentation, visit http://localhost:8000/api/swagger (Note: This feature is a work in progress).
- Although for running locally you don't need this, but to install the dependencies run the following command (Make sure you have lerna installed globally):
lerna exec yarn
This project is licensed under the MIT License.