A full-stack todo list application built with the MERN stack (MongoDB, Express.js, React.js, Node.js) that allows users to create, read, update, and delete their tasks efficiently.
- ✨ Create, Read, Update, and Delete (CRUD) operations for todos
- 🎯 Mark todos as complete/incomplete
- 📱 Responsive design for all devices
- 🔄 Real-time updates
- 🎨 Modern and clean user interface
- 🔒 Secure API endpoints
-
Frontend:
- React.js
- CSS3
- Axios for API calls
-
Backend:
- Node.js
- Express.js
- MongoDB
- Mongoose ODM
📦 todo-list-mern
┣ 📂 todo-list-frontend
┃ ┣ 📂 public
┃ ┃ ┣ 📜 index.html # Main HTML file
┃ ┃ ┣ 📜 robots.txt # Search engine configuration
┃ ┃ ┣ 📜 manifest.json # Web app manifest
┃ ┃ ┣ 📜 logo192.png # Small app logo
┃ ┃ ┣ 📜 logo512.png # Large app logo
┃ ┃ ┗ 📜 favicon.ico # Browser tab icon
┃ ┃
┃ ┣ 📂 src
┃ ┃ ┣ 📜 Todo.js # Main todo component
┃ ┃ ┣ 📜 App.js # Main application component
┃ ┃ ┣ 📜 App.css # Main application styles
┃ ┃ ┣ 📜 index.js # Application entry point
┃ ┃ ┣ 📜 index.css # Global styles
┃ ┃ ┣ 📜 logo.svg # React logo
┃ ┃ ┣ 📜 setupTests.js # Test configuration
┃ ┃ ┣ 📜 reportWebVitals.js # Performance monitoring
┃ ┃ ┗ 📜 App.test.js # Application tests
┃ ┃
┃ ┣ 📜 package.json # Frontend dependencies and scripts
┃ ┣ 📜 package-lock.json # Dependency lock file
┃ ┗ 📜 .gitignore # Git ignore rules
┃
┣ 📂 todo-list-backend
┃ ┣ 📜 server.js # Main server file
┃ ┣ 📜 package.json # Backend dependencies and scripts
┃ ┗ 📜 package-lock.json # Dependency lock file
┃
┗ 📜 LICENSE.txt # MIT License file
- Node.js (v14 or higher)
- MongoDB
- npm or yarn
- Clone the repository
git clone https://github.com/HARIHARANS24/todo-list-mern.git
cd todo-list-mern
- Install Frontend Dependencies
cd todo-list-frontend
npm install
- Install Backend Dependencies
cd ../todo-list-backend
npm install
- Start the Backend Server
npm start
- Start the Frontend Development Server
cd ../todo-list-frontend
npm start
The application will be available at http://localhost:3000
Create a .env
file in the backend directory with the following variables:
MONGODB_URI=your_mongodb_connection_string
PORT=5000
GET /api/todos
- Get all todosPOST /api/todos
- Create a new todoPUT /api/todos/:id
- Update a todoDELETE /api/todos/:id
- Delete a todo
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE.txt file for details.
- HARIHARANS24 - Initial work - GitHub Profile
- Thanks to all contributors who have helped shape this project
- Inspired by the need for a simple and efficient todo list application