This To-Do List project is part of The Odin Project curriculum. It is designed to help users manage their tasks and projects effectively, with various features typically found in a robust task management tool.
- Add, Edit, and Delete Tasks: Easily manage tasks by creating, updating, and removing them as needed.
- Task Completion Tracking: Mark tasks as completed and track the overall progress of each project.
- Due Dates and Urgency: Assign due dates and urgency levels to tasks and projects to prioritize your workload.
- Local Storage: Utilizes the Web Storage API to persist tasks and projects, ensuring your data is saved across sessions.
- Modular JavaScript: The project is structured using modular JavaScript, allowing for better code organization and maintainability.
- OOP Principles (SOLID): Object-Oriented Programming principles, including SOLID, are implemented to create a scalable and maintainable codebase.
- DRY Code: The project emphasizes the DRY (Don't Repeat Yourself) principle, reducing redundancy and improving maintainability.
- Composition Over Inheritance: The project uses composition over inheritance to create flexible and reusable components.
- Date Manipulation: The
date-fns
package is used for effective date handling and manipulation.
You can view a live demo of the project here.
Through this project, I have gained experience in:
- Using Webpack: Learned to bundle project files using Webpack.
- Web Storage API: Understood how to persist data using the Web Storage API.
- Modular JavaScript Implementation: Organized the codebase using modules for better clarity and structure.
- OOP Principles (SOLID): Applied SOLID principles in real-world scenarios to build a robust code structure.
- DRY Code: Ensured the code follows the DRY principle, improving efficiency and readability.
- Composition Over Inheritance: Adopted composition to create more flexible and reusable code components.
- Date Handling: Integrated and utilized the
date-fns
package for advanced date manipulation.
To clone the repository, use the following command:
git clone https://github.com/abnsol/todo-List.git