TaskFlow runs exclusively inside Docker Compose. There is no supported way to run any service directly withDocumentation 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.
node server.js outside of containers — the services depend on Docker’s internal DNS (service names like mongo-user and task-service) to resolve each other, and those names only exist within the Compose network. Every code change you make must be compiled into a fresh container image before you can test it.
Service ports reference
The following ports are exposed on your local machine when the full stack is running:| Service | Local port | Notes |
|---|---|---|
api-gateway | 5000 | Single entry point for all API requests |
user-service | 5001 | Auth, user profiles, admin accounts |
task-service | 5002 | Task lifecycle and assignments |
notification-service | 5003 | Email alerts via EmailJS |
admin-frontend | 3000 | React admin dashboard (served by Nginx) |
user-frontend | 5173 | React user interface (served by Nginx) |
mongo-user | 27018 | MongoDB for user data (maps to container port 27017) |
mongo-task | 27019 | MongoDB for task data (maps to container port 27017) |
Inside the Compose network, services connect to MongoDB using the internal hostnames
mongo-user:27017 and mongo-task:27017. The external ports 27018 and 27019 are only for direct access from tools on your host machine such as MongoDB Compass or mongosh.Modifying and testing a service
Use this workflow any time you change source code in a backend service or a frontend. You only need to rebuild the specific container you changed — the rest of the stack keeps running.Make your code changes
Edit the source files for the service you want to update. For example, modify a route handler in
task-service/ or update a component in task-manager-user-frontend/src/.Stop and remove the running container
Stop the container for the changed service and remove it so Docker Compose replaces it with a fresh build:Replace
task-service with the name of the service you changed. Valid service names are api-gateway, user-service, task-service, notification-service, admin-frontend, and user-frontend.Rebuild and restart the container
Build a new image from your updated source and start the container in detached mode:The
--build flag forces Docker to re-run the Dockerfile instead of using the cached image layer. The running containers for other services are not affected.Verify the container is healthy
Confirm the rebuilt service started correctly:The service should show a
running or Up state. If it exited immediately, check its logs in the next step.Checking container health
Run the following command at any point to see the status of all 8 containers, their uptime, and their exposed ports:running or Up state. Any service showing Exit or Restarting indicates a startup failure — check that service’s logs for details.
Viewing logs
Stream logs from every service simultaneously:Connecting to MongoDB directly
Both MongoDB instances expose ports on your host machine for use with a database client such as MongoDB Compass ormongosh:
| Database | Host | Port | Database name |
|---|---|---|---|
| User database | localhost | 27018 | TaskManagerUser |
| Task database | localhost | 27019 | TaskManagerTask |