Description:
Enhance the Schedulo project by adding Docker support. This will streamline the setup process for developers and contributors, making it easier to run the project in a containerized environment.
Requirements:
1.Dockerfile:
- Create a Dockerfile for the Next.js frontend.
- Create a Dockerfile for the backend (Node.js + Express.js).
- Optimize the images for smaller size and better performance.
2.Docker Compose:
Write a docker-compose.yml file to handle the following services:
- Frontend: The Next.js app.
- Backend: The Node.js + Express.js server.
- Redis: As a caching service.
- MongoDB: As the database.
Environment Variables:
- Set up .env files to pass the required environment variables to the containers.
- Update .env.example to include necessary variables for Docker (e.g., MONGO_URI, REDIS_URL).
Documentation:
- Add a DOCKER.md file in the repository with clear instructions for:
- Building and running the Docker containers.
- Troubleshooting common issues.
Additional Notes:
- Ensure all containers communicate properly using a shared network in docker-compose.yml.
- Test the setup to verify the application works end-to-end.
Acceptance Criteria:
Description:
Enhance the Schedulo project by adding Docker support. This will streamline the setup process for developers and contributors, making it easier to run the project in a containerized environment.
Requirements:
1.Dockerfile:
2.Docker Compose:
Write a docker-compose.yml file to handle the following services:
Environment Variables:
Documentation:
Additional Notes:
Acceptance Criteria: