A modern, full-featured To-Do application built with Node.js, Express, and a beautiful HTML/CSS frontend. This project is perfect for beginners and open source contributors who want to learn about full-stack web development without a database—data is stored in JSON files for simplicity.
- User authentication (Sign Up & Login with Name, Email, Password)
- Session management (shows who is logged in)
- Add, edit, delete, and toggle completion of to-dos
- Each user has their own to-do list
- Responsive, modern UI with floating labels and glassmorphism
- Search, filter, and sort todos
- All data stored in JSON files (no database required)
- Clean code, easy to extend and contribute
- Frontend: HTML, CSS (Poppins font, glassmorphism, responsive design), Vanilla JS
- Backend: Node.js, Express.js, CORS
- Other:
- Data storage: JSON files (
users.json
,todos.json
,sessions.json
) - Dev tools: nodemon, supertest
- Data storage: JSON files (




- Node.js (v14 or higher recommended)
- npm (comes with Node.js)
- Fork this repo or Download ZIP.
- Open the folder in your favorite code editor.
- Install dependencies:
npm install
- Start the server:
npm start
- Open your browser and go to http://localhost:3000
- Sign Up: Register with your name, email, and password.
- Login: Use your email and password to log in.
- Manage To-Dos: Add, edit, delete, and mark to-dos as complete/incomplete.
- Search/Filter/Sort: Use the controls to find and organize your tasks.
- Session: The app shows who is logged in in the header.
We welcome contributions! To get started:
- Fork the repository.
- Create a new branch:
git checkout -b feature/your-feature-name
- Make your changes and commit:
git commit -m 'Add some feature'
- Push to your fork:
git push origin feature/your-feature-name
- Open a Pull Request describing your changes.
Contribution Guidelines:
- Write clean, readable code and add comments where helpful.
- Update documentation as needed.
- For major changes, open an issue first to discuss what you’d like to change.
- Be respectful and constructive in code reviews and discussions.
- Abhinav Kumar Arya (itzabhinavarya)
This project is licensed under the ISC License. See the LICENSE file for details.
- Add persistent database support (MongoDB, PostgreSQL, etc.)
- Add user profile and password reset features
- Add due dates, reminders, and notifications
- Add drag-and-drop for task reordering
- Add mobile app (React Native or Flutter)
- Add dark mode and more themes
- Add unit and integration tests
- Add deployment scripts for cloud platforms
Happy coding! 🌟