A simple task management system built using the MERN stack (MongoDB, Express, React, Node.js) and Docker. This project allows you to manage tasks with CRUD operations and prioritize tasks.
- Create, Read, Update, and Delete (CRUD) tasks: Manage your tasks easily with a user-friendly interface.
- Priority levels: Assign priority levels to tasks.
- Dockerized: The entire application is containerized using Docker for easy deployment and management.
- client/: Contains the React frontend application.
- app/: Contains the Node.js backend application.
- docker-compose.yml: Docker Compose configuration file to build and run the client and server containers.
- Docker
- Docker Compose
git clone https://github.com/Frnn4268/task-manager-docker.git
cd task-manager-docker
Create a .env
file in the server directory with the following content:
MONGODB_URI=mongodb://mongo:27017/taskmanager
PORT=5000
Replace MONGODB_URI with your MongoDB connection string if you're not using Docker for MongoDB.
Use Docker Compose to build and run the client and server containers:
docker-compose up --build
This command will build the Docker images for both the client and server, and start the containers.
-
Client (React frontend): Open your browser and navigate to http://localhost:3000.
-
Server (API): The server API will be accessible at http://localhost:5000.
- Client Configuration: The React frontend is configured to run on port 3000.
- Server Configuration: The Node.js backend is configured to run on port 5000 and connect to MongoDB.
To make changes to the project:
- Client: Make changes in the client directory and rebuild the client Docker image.
- Server: Make changes in the server directory and rebuild the server Docker image.
- If you encounter issues with Docker Compose, ensure that Docker and Docker Compose are installed correctly.
- For connection issues, verify that MongoDB is accessible at the specified URI.
- Project Overview: Brief description of the project's purpose and features.
- Project Structure: Describes the directory structure and key files.
- Prerequisites: Lists the software required to run the project.
- Getting Started: Instructions to clone the repo, set up environment variables, and run the application.
- Project Configuration: Details on how the client and server are configured.
- Development: Guidelines for making changes to the project.
- Troubleshooting: Common issues and their resolutions.
Feel free to adjust any details to better fit your project's specifics or requirements.