A full-stack todo management application built to help users organize daily tasks with a simple and clean interface. The app allows users to sign up, log in, and manage todos securely with protected routes and persistent storage.
Todo App is a lightweight productivity tool for personal task tracking. Its core objective is to make task management simple and efficient through a smooth experience where users can:
- create new todos
- mark tasks as complete or incomplete
- delete unwanted tasks
- keep their data linked to their account
- React.js
- React Router DOM
- Chakra UI
- React Icons
- Framer Motion
- Node.js
- Express.js
- MongoDB with Mongoose
- JWT authentication
- bcrypt, cookie-parser, cors, dotenv
git clone https://github.com/ahmad-DS/Todo-App.git
cd Todo-Appcd backend
npm installCreate a .env file inside the backend folder with:
PORT=8080
MONGO_URL=mongodb://127.0.0.1:27017/todo-appStart the backend server:
npm run devcd ../frontend
npm install
npm startOpen the app in your browser at:
http://localhost:3000
The frontend is configured to communicate with the backend at
http://localhost:8080using the proxy setting.
- Secure signup and login flow
- Protected todo routes for authenticated users
- Add, toggle, and delete todo items
- Responsive and minimal UI with Chakra components
- MongoDB-backed persistence for long-term task storage
- Monolith Arch: Frontend pages served from express server
