Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/Ajith66310/task-manager-full/llms.txt

Use this file to discover all available pages before exploring further.

TaskFlow runs entirely inside Docker, so you don’t need to install Node.js, MongoDB, or any other runtime on your machine. Once Docker Desktop is running and your .env files are filled in, a single command brings up all eight containers — two frontends, four backend services, and two databases — ready to use.

Prerequisites

Before you begin, make sure you have the following installed and running on your machine:

Setup

1

Clone the repository

Clone the TaskFlow repository and move into the project root:
git clone https://github.com/Ajith66310/task-manager-full.git
cd task-manager-full
2

Configure environment variables

TaskFlow reads configuration from .env files in each service directory. Create and populate the following files before starting the application.user-service/.env
MONGO_URI=mongodb://mongo-user:27017/TaskManagerUser
JWT_SECRET=your_jwt_secret
ADMIN_EMAIL=admin@example.com
ADMIN_PASSWORD=your_admin_password
task-service/.env
MONGO_URI=mongodb://mongo-task:27017/TaskManagerTask
JWT_SECRET=your_jwt_secret
notification-service/.env
EMAILJS_PRIVATE_KEY=your_emailjs_private_key
EMAILJS_PUBLIC_KEY=your_emailjs_public_key
EMAILJS_SERVICE_ID=your_emailjs_service_id
EMAILJS_TEMPLATE_ID=your_emailjs_template_id
task-manager-user-frontend/.env
VITE_API_URL=http://localhost:5000/api
task-manager-frontend/.env
VITE_API_URL=http://localhost:5000/api
The MONGO_URI values above point to the MongoDB containers that Docker Compose manages automatically. You do not need to install or configure MongoDB separately — mongo-user and mongo-task are started as part of the same Compose stack.
3

Build and start all containers

From the project root, run the following command to build images, pull base layers, and start all services in the background:
docker-compose up --build -d
Once the command completes, the following 8 containers will be running:
ContainerServicePort
task_manager_api_gatewayAPI Gateway5000
task_manager_user_serviceUser Service5001
task_manager_task_serviceTask Service5002
task_manager_notification_serviceNotification Service5003
task_manager_mongo_userMongoDB (users)27018
task_manager_mongo_taskMongoDB (tasks)27019
task_manager_admin_frontendAdmin Frontend3000
task_manager_user_frontendUser Frontend5173
You can verify all containers are healthy at any time with:
docker-compose ps
4

Access the application

With all containers running, open any of the following endpoints in your browser:
EndpointURLDescription
User interfacehttp://localhost:5173Task management UI for end users
Admin dashboardhttp://localhost:3000Administrative interface for managing users and tasks
API Gatewayhttp://localhost:5000REST API entrypoint for all backend services

Stopping the application

To stop all running containers without removing data:
docker-compose down
To stop containers and remove all persistent volumes (this deletes stored data):
docker-compose down -v

Build docs developers (and LLMs) love