A simple yet functional Todo app built using the MERN stack, with enhancements over the original course implementation by Hitesh Choudhary.
This is an improved version of the Todo app taught in Hitesh Choudhary's MERN course on Udemy.
- Original implementation used React + Local Storage
- Enhanced version uses MongoDB for persistence and follows proper MVC architecture
- React β Frontend framework
- MongoDB β Database for persistent storage
- Express.js β Backend framework
- Tailwind CSS β Styling
- Postman β API testing tool
β
Full CRUD operations (Create, Read, Update, Delete) using MongoDB
β
Applied MVC architecture for modular, maintainable code
β
Implemented optimizations beyond the course
β
Improved state updates after CRUD operations (no full refetch)
β UI is not mobile-friendly
β Basic styling (can be enhanced for interactivity)
β
Optimized state updates after CRUD operations
Previously, every Create, Update, Delete action triggered a full fetch of all todos.
β Now:
- Create Todo: Append to existing state
- Update Todo: Modify only updated todo
- Delete Todo: Remove deleted todo
This reduces API calls and improves performance π
- Ensure MongoDB is running locally
- Clone the repo:
git clone https://github.com/sudhanvapops/mern-todo-app.git
cd mern-todo-app- Install dependencies:
npm install- Add missing
.envvariables (MongoDB URI, etc.)
mern-todo-app/
βββ frontend/ # React frontend
βββ backend/ # Express backend
βββ README.md # Project documentation
β Integrating MongoDB for persistence β Implementing MVC architecture for cleaner code β Using Postman to test API endpoints β Optimizing React state updates for better performance β Practical full-stack MERN skills beyond the course
This project helped solidify my MERN stack knowledge while teaching me state optimization, backend integration, and MVC architecture. UI improvements and mobile responsiveness remain areas for future work. π― Contributions and suggestions are welcome! π