A modern, high-performance Todo List application built with React 18. This project goes beyond basic CRUD functionality by implementing a Glassmorphism UI, advanced filtering logic, and significant performance optimizations.
- Glassmorphism Design: A modern aesthetic using backdrop-filters, gradients, and translucency.
- Responsive Layout: Fully adaptive interface for Mobile and Desktop.
- Visual Feedback: Smooth animations for adding/deleting tasks and progress indicators.
- Real-time Stats: Visual dashboard showing completion rates.
- Smart Search: Filter tasks instantly by text content.
- Status Filters: Toggle between All, Active, and Completed views.
- Data Persistence: Uses
LocalStorageto save user data between sessions. - Input Validation: Prevents empty tasks and handles character limits.
This project has undergone several refactoring cycles to improve performance and code quality:
- Performance Boost: Optimized rendering logic, reducing initial load time from 3s to ~1s.
- Rerender Control: Implemented
useEffectdependencies correctly to avoid memory leaks. - Unique IDs: Refactored ID generation to prevent collisions in the task list.
- Fixed deletion logic (switched from text-based to ID-based deletion).
- Corrected task filtering algorithms for accurate stats.
- Framework: React 18 (Functional Components & Hooks)
- Styling: CSS3 (Custom Glassmorphism implementation)
- State Management: React
useState&useEffect - Deployment: GitHub Pages
-
Clone the repository
git clone [https://github.com/YorberR/Modern-task-manager.git](https://github.com/YorberR/Modern-task-manager.git)
-
Install dependencies
npm install
-
Run in development mode
npm start
-
Build for production
npm run build
Contributions are welcome!
- Fork the repository
- Create a 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
Distributed under the MIT License. See LICENSE for more information.