A modern, responsive todo list application built with Next.js 15, TypeScript, and Tailwind CSS.
- ✅ Add new todos - Create new tasks with a simple text input
- ✅ Mark todos as complete - Check off completed items
- ✅ Delete todos - Remove unwanted tasks
- ✅ Search todos - Find specific tasks using the search functionality
- ✅ Filter todos - View ALL, ACTIVE, or COMPLETED tasks
- ✅ Persistent storage - Todos are saved to localStorage
- 🌓 Dark mode toggle - Switch between light and dark themes
- 📱 Responsive design - Works perfectly on mobile and desktop
- 🎨 Modern purple/blue theme - Beautiful gradient backgrounds and styling
- 📊 Progress tracking - See completion statistics and progress
- ♿ Accessibility - Proper ARIA labels and keyboard navigation
- ⚡ Next.js 15 with App Router - Latest Next.js features and performance
- 🔷 TypeScript - Full type safety throughout the application
- 🎨 Tailwind CSS - Utility-first CSS framework for styling
- 🪝 Custom React Hooks - Modular, reusable logic
- 💾 localStorage Integration - Data persistence across sessions
- Node.js 18+
- npm or yarn
- Clone the repository
git clone <repository-url>
cd todo- Install dependencies
npm install- Run the development server
npm run dev- Open http://localhost:3000 in your browser
- Type your task in the input field at the bottom
- Press Enter or click the + button to add
- Click the checkbox to mark a todo as complete/incomplete
- Click the X button to delete a todo
- Use the search bar to find specific todos
- Use the filter dropdown to view ALL, ACTIVE, or COMPLETED todos
- Click the sun/moon icon to switch between light and dark modes
- Your preference is automatically saved
src/
├── app/
│ ├── layout.tsx # Root layout with metadata
│ ├── page.tsx # Main todo application page
│ └── globals.css # Global styles
├── components/
│ ├── AddTodo.tsx # Add new todo component
│ ├── SearchAndFilter.tsx # Search and filter controls
│ ├── TodoItem.tsx # Individual todo item
│ └── TodoStats.tsx # Statistics display
├── hooks/
│ ├── useTodos.ts # Todo management logic
│ └── useDarkMode.ts # Dark mode functionality
└── types/
└── todo.ts # TypeScript type definitions
- Next.js 15 - React framework with App Router
- TypeScript - Type-safe JavaScript
- Tailwind CSS - Utility-first CSS framework
- React 19 - UI library with latest features
This project is open source and available under the MIT License.