📝 To-Do List App

Welcome to the To-Do List App project! This repository is designed for students to practice their React skills by building a functional To-Do list application. The tasks are divided into three levels: Basic, Medium, and Hard. Each level introduces new concepts and challenges to enhance your understanding of React.

📚 Table of Contents

🚀 Getting Started

To get started with this project, follow these steps:

  1. Fork this repository to your GitHub account.
  2. Clone the repository to your local machine: git clone https://github.com/your-username/todo-list-app.git 3. Install dependencies: cd todo-list-app npm install 4. Start the development server: npm run dev

🥇 Basic Level

In the Basic level, you will implement the core functionalities of the To-Do list.

Tasks

  • Use states to manage to-do's.
  • Implement handleAddTask function to add new tasks.
  • Implement handleToggleTask function to mark tasks as completed.
  • Implement handleDeleteTask function to remove tasks.

🥈 Medium Level

In the Medium level, you will refactor your code to improve its structure and readability.

Tasks

  • Extract the to-do's list into a TaskList component.
  • Extract the task display into a TaskItem component.
  • Pass functions as props to manage states from child components.

🥇 Hard Level

In the Hard level, you will implement persistence to save tasks in localStorage.

Tasks

  • Implement useEffect to store tasks in localStorage.
  • Retrieve tasks from localStorage on component mount.

Happy coding! 🎉