Skip to content

whomngmnt/ToDo--App

Repository files navigation

React TypeScript Todo App

A fully functional, elegant, and responsive Todo application built with React, TypeScript, and Vite. This project replicates the core functionalities of the classic TodoMVC specification, featuring state management via React Context API and data persistence with LocalStorage.


🚀 Live Demo

Check out the live application here: https://whomngmnt.github.io/ToDo--App/


✨ Features Implemented

  • State Management with React Context: Scalable and clean architecture using React Context to share data across components seamlessly.
  • Persistent Storage: Automatic synchronization with localStorage ensures your tasks are saved even after refreshing the page.
  • Dynamic UI Elements: The application adapts to user behavior (e.g., the input field is focus-optimized, and footer controls appear conditionally based on task count).
  • Comprehensive Filtering: Easily filter tasks by their current status: All, Active, and Completed.
  • Toggle & Clear Actions:
    • Individual task completion toggling.
    • A "Toggle All" master checkbox that automatically triggers when all items are completed.
    • A "Clear Completed" button to purge finished tasks instantly.
  • Advanced Inline Editing:
    • Double-click any todo title to enter edit mode.
    • Press Enter to save changes (automatically trims whitespace).
    • Saves automatically on blur (onBlur).
    • Press Escape to discard changes and return to normal mode.
    • Deletes the todo automatically if the edited title is left empty.

🛠️ Tech Stack & Tools

  • Frontend Library: React 18+
  • Language: TypeScript (Strict mode enabled)
  • Build Tool: Vite (Ultra-fast development server and production bundler)
  • Styling: TodoMVC CSS Base / Bulma / Custom Sass (depending on implementation)
  • Deployment: GitHub Pages (gh-pages)

📦 Getting Started

Follow these steps to run the project locally on your machine.

1. Clone the repository

  1. Install dependencies Bash npm install

  2. Run the development server Bash npm run dev Open http://localhost:5173 in your browser to see the application in action.

  3. Build for production Bash npm run build

git clone [https://github.com/whomngmnt/todo-app-final.git](https://github.com/whomngmnt/todo-app-final.git)
cd todo-app-final

About

No description, website, or topics provided.

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors