๐Ÿ“ฆ pavelfeldman / todomvc

โ˜… 0 stars โ‘‚ 0 forks ๐Ÿ‘ 0 watching
๐Ÿ“ฅ Clone https://github.com/pavelfeldman/todomvc.git
HTTPS git clone https://github.com/pavelfeldman/todomvc.git
SSH git clone git@github.com:pavelfeldman/todomvc.git
CLI gh repo clone pavelfeldman/todomvc
Pavel Feldman Pavel Feldman chore: 10 => 3 tests demo 6a59f66 2 months ago ๐Ÿ“ History
๐Ÿ“‚ main View all commits โ†’
๐Ÿ“ .github
๐Ÿ“ public
๐Ÿ“ specs
๐Ÿ“ src
๐Ÿ“ tests
๐Ÿ“„ .gitignore
๐Ÿ“„ eslint.config.js
๐Ÿ“„ index.html
๐Ÿ“„ package-lock.json
๐Ÿ“„ package.json
๐Ÿ“„ README.md
๐Ÿ“„ tsconfig.app.json
๐Ÿ“„ tsconfig.json
๐Ÿ“„ tsconfig.node.json
๐Ÿ“„ vite.config.ts
๐Ÿ“„ README.md

TodoMVC - React + TypeScript + Vite

A fully functional implementation of the TodoMVC specification built with React, TypeScript, and Vite.

Features

  • Task Management: Create, edit, delete, and toggle completion of todos
  • Filtering: View todos by All, Active, or Completed status with URL routing
  • Bulk Operations: Mark all todos as complete/incomplete and clear completed todos
  • Real-time Counter: Display count of active (incomplete) todos
  • Input Validation: Prevents empty or whitespace-only todos
  • Persistence: Todos are automatically saved to localStorage
  • Responsive Design: Classic TodoMVC styling with hover effects

Usage

Development

npm install
npm run dev

Build

npm run build

Lint

npm run lint

Functionality

  • Add Todo: Type in the input field and press Enter
  • Edit Todo: Double-click any todo text to edit inline
  • Press Enter to save changes
  • Press Escape to cancel editing
  • Toggle Completion: Click the checkbox next to any todo
  • Delete Todo: Hover over a todo and click the ร— button
  • Mark All: Use the toggle at the top to mark all todos as complete/incomplete
  • Filter Todos: Click All, Active, or Completed in the footer
  • Clear Completed: Click "Clear completed" button when completed todos exist

URL Routing

  • / - Shows all todos
  • /active - Shows only incomplete todos
  • /completed - Shows only completed todos

Technologies

  • React 19+ with hooks (useState, useEffect)
  • TypeScript for type safety
  • React Router for URL-based filtering
  • Vite for development and build tooling
  • CSS with TodoMVC standard styling