Skip to content

Repository files navigation

✅ React To-Do List Application

A simple and responsive To-Do List Application built with React, TypeScript, and Zustand.

Practice project focused on React fundamentals, state management, TypeScript, and clean project architecture.


📷 Project Preview


📖 About the Project

This project is a simple yet fully functional To-Do List Application developed as part of my React learning journey.

The primary goal was to gain hands-on experience with modern React development while following a structured project architecture. Throughout the project, I explored component-based design, state management with Zustand, TypeScript, Local Storage, and CRUD operations.

The application allows users to manage their daily tasks efficiently by adding, editing, deleting, completing, and tracking deadlines.


✨ Features

  • ➕ Add new tasks

  • ✏️ Edit existing tasks

  • 🗑️ Delete tasks

  • ✅ Mark tasks as completed

  • 📅 Set task deadlines

  • 💾 Persistent storage using Local Storage

  • 🔔 Toast notifications for:

    • Validation errors
    • Successful operations
    • Tasks due within the next 3 days
  • 📊 Task Summary

    • Total Tasks
    • Completed Tasks
    • Pending Tasks
  • 📱 Responsive user interface


🛠️ Technologies Used

Technology Purpose
React UI Development
TypeScript Type Safety
Vite Build Tool
Zustand Global State Management
React Toastify Notifications
CSS Styling
Local Storage Data Persistence

📂 Project Structure

src/
│
├── components/
│   ├── AddButton/
│   ├── AddToDoModal/
│   ├── Header/
│   ├── List/
│   ├── Summary/
│   └── ...
│
├── pages/
│
├── service/
│
├── repository/
│
├── store/
│
├── hooks/
│
├── types/
│
├── App.tsx
└── main.tsx

🚀 Getting Started

Clone the Repository

git clone https://github.com/fahadmb123/To-Do-REACT.git

Navigate to the Project

cd To-Do-REACT

Install Dependencies

npm install

Start Development Server

npm run dev

The application will be available at:

http://localhost:5173

📚 What I Learned

During this project, I gained practical experience with:

  • React Components

  • JSX & TSX

  • Component Architecture

  • Props

  • State Management

  • React Hooks

    • useState
    • useEffect
  • Zustand for Global State Management

  • TypeScript Interfaces & Types

  • Local Storage

  • CRUD Operations

  • Form Validation

  • Toast Notifications

  • Component Communication

  • Service & Repository Pattern

  • Clean Folder Structure

  • Responsive UI Design


🎯 Future Improvements

  • 🔍 Search Tasks
  • 🎛️ Filter Tasks
  • 📅 Sort by Deadline
  • 🌙 Dark Mode
  • ☁️ Backend Integration
  • 👤 User Authentication
  • 📂 Task Categories
  • ⭐ Priority Levels
  • 📈 Productivity Analytics

🤝 Contributing

Contributions, suggestions, and improvements are welcome.

If you'd like to improve this project:

  1. Fork the repository
  2. Create a new feature branch
  3. Commit your changes
  4. Push the branch
  5. Open a Pull Request

⭐ Support

If you found this project helpful, consider giving it a ⭐ on GitHub.

It helps others discover the project and motivates me to build more.


👨‍💻 Author

Fahad

Built with ❤️ while learning React, TypeScript, and Zustand.

About

A modern To-Do application built with React, TypeScript, Zustand, and LocalStorage.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages