A modern, accessible, and user-friendly todo list application built with React and Vite. Stay organized and productive with a clean interface that helps you manage your daily tasks effortlessly.
- ✅ Task Management: Add, complete, and delete tasks with ease
- 📊 Task Tracking: Real-time counter showing total and completed tasks
- ♿ Accessibility First: WCAG compliant with full screen reader support
- Skip navigation links
- ARIA labels and live regions
- Keyboard navigation support
- Semantic HTML structure
- 🎨 Beautiful UI: Modern design with smooth animations using Tailwind CSS
- 📱 Responsive Design: Works perfectly on desktop, tablet, and mobile devices
- 💾 Character Counter: Visual feedback with 100 character limit per task
- 🎯 Material-UI Integration: Enhanced UX with tooltips and theme support
- ⚡ Lightning Fast: Built with Vite for instant hot module replacement
- Node.js (v14 or higher)
- npm or yarn
- Clone the repository:
git clone https://github.com/nimpeboss/Todo.git
cd todo_list- Install dependencies:
npm install- Start the development server:
npm startThe app will open automatically in your browser at http://localhost:3000
- React 19 - UI library
- Vite - Build tool and dev server
- Material-UI - Component library
- Tailwind CSS - Utility-first CSS
- Vitest - Unit testing framework
- Adding a Task: Type your task in the input field and click "Add" or press Enter
- Completing a Task: Click the checkbox or the task text to mark it as complete
- Deleting a Task: Click the delete (trash) icon to remove a task
- Keyboard Navigation: Use Tab to navigate, Enter/Space to toggle tasks
This application is built with accessibility as a priority:
- Screen Reader Support: All interactive elements have descriptive labels
- Keyboard Navigation: Full keyboard support for all functionality
- Skip Links: Quick navigation to main content and task input
- Live Regions: Real-time updates announced to screen readers
- Focus Management: Clear focus indicators and logical tab order
- Semantic HTML: Proper use of headings, landmarks, and ARIA attributes
todo_list/
├── public/ # Static assets
├── src/
│ ├── App.jsx # Main application component
│ ├── App.css # Application styles
│ ├── main.jsx # Application entry point
│ ├── index.css # Global styles
│ └── setupTests.js # Test configuration
├── index.html # HTML template
├── vite.config.js # Vite configuration
├── vitest.config.js # Vitest configuration
└── package.json # Dependencies and scripts
The project uses Vite for blazing fast development:
- Port: 3000 (auto-opens in browser)
- Output:
builddirectory - React plugin with Fast Refresh
Vitest is configured with:
- jsdom environment for DOM testing
- Global test utilities
- Integration with React Testing Library
Build the production-ready app:
npm run buildThe build folder will contain optimized static files ready for deployment to:
- Vercel
- Netlify
- GitHub Pages
- Any static hosting service
This project is open source and available under the MIT License.
nimpeboss
- GitHub: @nimpeboss
Contributions, issues, and feature requests are welcome!
Feel free to check the issues page.
Give a ⭐️ if this project helped you!
Built with ❤️ using React and Vite