A full-stack Todo List app where you can add tasks, mark them as completed or pending, filter, search, and paginate them.
- Frontend: React, Axios, Material UI
- Backend: Node.js, Express
- Database: MongoDB, Mongoose
Todo-Task/
├── backend/
│ ├── src/
│ │ ├── common/
│ │ ├── config/
│ │ ├── controllers/
│ │ ├── middlewares/
│ │ ├── models/
│ │ ├── routes/
│ │ └── validation/
│ ├── app.js
│ ├── server.js
│ ├── .env
│ └── package.json
│
├── frontend/
│ ├── public/
│ ├── src/
│ │ ├── api/
│ │ ├── assets/
│ │ ├── App.css
│ │ ├── App.jsx
│ │ ├── index.css
│ │ └── main.jsx
│ ├── .gitignore
│ ├── eslint.config.js
│ ├── index.html
│ └── package.json
│
├── .gitignore
└── README.md
git clone https://github.com/OptimityLogics/Todo-Task
cd Todo-Taskcd backend
npm install
npm run devcd frontend
npm install
npm run devOpen http://localhost:5173 in your browser.
Make sure MongoDB is running locally before starting the backend.
| Method | Endpoint | Description |
|---|---|---|
| GET | /tasks/all |
Fetch all tasks (supports page, limit, search query params) |
| POST | /tasks/create |
Create a new task |
| PUT | /tasks/update/:id |
Toggle task status (completed ↔ pending) |
| GET | /tasks/all/:status |
Filter tasks by completed or pending |
- Add new tasks
- Toggle task status using a checkbox
- Filter tasks — All, Completed, Pending
- 🔍 Search tasks by title
- 📄 Pagination to browse tasks page by page
- Frontend syncs with backend on every action