A sophisticated, feature-rich todo application built with pure HTML, CSS, and JavaScript. This application provides an intuitive, accessible, and responsive interface with advanced task management features and local storage persistence.
- Advanced Task Management
- Create, edit, complete, and delete todos
- Inline text editing with double-click
- Priority levels (High, Normal, Low)
- Due dates with visual indicators
- Recurring tasks (Daily, Weekly, Bi-weekly, Monthly, Quarterly, Yearly)
- Task notifications with customizable timing
- Advanced Filtering & Sorting
- Filter by status (All/Active/Completed)
- Filter by priority
- Filter by due date status (Overdue/Due Soon/Future)
- Sort by priority, due date, alphabetical, or creation date
- Smart task grouping options
- Modern UI/UX
- Clean and intuitive interface
- Smooth animations and transitions
- Dark/Light theme with system preference support
- Sound effects with toggle option
- Touch-friendly with swipe actions
- Responsive design for all devices
- Task Enhancement
- Bulk actions (Complete All, Uncomplete All)
- Recurring task patterns
- Due date notifications
- Optimized schedule view
- Progress tracking
- A11y Features
- Keyboard navigation support
- Screen reader compatibility
- High contrast support
- Skip links
- ARIA labels and roles
- Reduced motion support
- Performance & Storage
- Local storage persistence
- Virtual scrolling for large lists
- Performance monitoring
- Error handling and recovery
- Offline support
- HTML5
- CSS3 (with CSS Variables for theming)
- Vanilla JavaScript (ES6+)
- Local Storage API
- Web Notifications API
- Drag and Drop API
-
Clone the repository:
git clone https://github.com/SNO7E-G/modern-todo-application.git
-
Navigate to the project directory:
cd modern-todo-application -
Open
index.htmlin your browser
- Add Task: Enter task description, set priority and due date, then press Enter or click Add
- Complete Task: Click the checkbox or swipe right on mobile
- Edit Task: Double-click the task text
- Delete Task: Click the delete (×) button or swipe left on mobile
- Recurring Tasks: Select recurring pattern when adding a task
- Task Notifications: Enable notifications and set reminder time
- Theme Toggle: Click the theme button in the header
- Sound Toggle: Toggle sound effects using the sound button
- View Schedule: Click "Optimize Schedule" to see task distribution
- Filter Tasks: Use the filter dropdown for advanced filtering
- Group Tasks: Use the grouping dropdown to organize tasks
Enter/Space: Toggle task completionDelete: Remove taskAlt + T: Toggle themeAlt + N: Focus new task inputCtrl + Shift + A: Complete all tasksCtrl + Shift + Z: Uncomplete all tasks?: Show keyboard shortcuts help
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Mahmoud Ashraf (SNO7E)
- GitHub: @SNO7E-G
This project is licensed under the MIT License - see the LICENSE file for details.
Give a ⭐️ if you like this project! "# Modern-Todo-Application" "# Modern-Todo-Application" "# Modern-Todo-Application"