This project is a complete to-do list application built to demonstrate the power of containerization and orchestration of microservices.
The application uses a modern frontend in React, a robust API in Node.js, a NoSQL database, and an automated CI/CD pipeline.
- ✅ Create, list, and remove tasks.
- ✅ Mark tasks as completed.
- ✅ Data persistence with MongoDB.
- ✅ Responsive interface with TailwindCSS.
- ✅ Development environment identical to production via Docker.
- ✅ Automatic tests integrated into the workflow.
- Frontend: React, Vite, TailwindCSS.
- Backend: Node.js, Express, Mongoose.
- Database: MongoDB.
- Infrastructure: Docker, Docker Compose.
- DevOps: GitHub Actions (CI).
You don't need to install Node or MongoDB on your machine, just Docker and Docker Compose.
- Clone the repository:
git clone https://github.com/RobotEby/journey-in-backend.git
cd docker-todo-list- Start the application:
docker-compose up --build- Access the application in your browser:
Frontend: http://localhost:5173
Backend API: http://localhost:5000/todosTests are run automatically with each push to the repository via GitHub Actions. To run the tests locally via Docker:
docker-compose run --rm tests/frontend:React application configured with Vite and Tailwind./backend:Node.js API connected to MongoDB.docker-compose.yml:Definition and orchestration of services (db, api, web, tests)..github/workflows:Continuous integration pipeline configuration.