Task Manager is designed to help users efficiently manage their daily routines by providing a clean, intuitive interface for scheduling and task management. It aims to optimize productivity and simplify the process of keeping track of tasks.
Simply open index.html in your web browser. The application runs entirely in the browser with no server required.
# macOS
open index.html
# Windows
start index.html
# Linux
xdg-open index.htmlIf you want to run the unit tests, you'll need Node.js installed:
# Install dependencies
npm install
# Run tests
npm test
# Run tests in watch mode
npm run test:watch
# Run tests with coverage report
npm run test:coverage- Task Management: Create, edit, delete, and complete tasks
- Due Dates & Priorities: Set deadlines and priority levels (High/Medium/Low)
- Calendar View: Visualize tasks across days and months
- Timeline/Gantt View: See task timelines at a glance
- Light/Dark Mode: Switch themes for comfortable viewing
- Search & Filter: Find tasks by keyword, status, or priority
- Undo/Redo: Ctrl+Z / Ctrl+Shift+Z to undo/redo actions
- Toast Notifications: Visual feedback with undo actions
- Task Tags: Color-coded categories for organization
- Recurring Tasks: Set daily, weekly, or monthly repeat patterns
- Keyboard Shortcuts: Full keyboard navigation (press
?for help) - Drag & Drop: Reorder tasks or drag to calendar dates
- Bulk Actions: Select multiple tasks to complete/delete at once
- Export/Import: Save and load tasks as JSON or CSV
- Subtasks: Break tasks into checklists with progress tracking
| Key | Action |
|---|---|
n |
New task |
↑ / ↓ |
Navigate tasks |
Enter |
Toggle completion |
e |
Edit focused task |
Delete |
Delete focused task |
/ |
Focus search |
? |
Show keyboard shortcuts |
Ctrl+Z |
Undo |
Ctrl+Shift+Z |
Redo |
Esc |
Clear form / Deselect |
├── index.html # Main HTML file
├── css/
│ └── styles.css # All styles (light/dark themes)
├── js/
│ ├── namespace.js # Global namespace setup
│ ├── utils.js # Utility functions
│ ├── storage.js # localStorage persistence
│ ├── state.js # Centralized state management
│ ├── filters.js # Task filtering and sorting
│ ├── theme.js # Light/dark mode toggle
│ ├── tasks.js # Task CRUD operations
│ ├── calendar.js # Calendar view
│ ├── gantt.js # Timeline/Gantt view
│ ├── toast.js # Toast notifications
│ ├── history.js # Undo/redo functionality
│ ├── tags.js # Tag management
│ ├── subtasks.js # Subtask/checklist support
│ ├── recurrence.js # Recurring tasks
│ ├── keyboard.js # Keyboard shortcuts
│ ├── dragdrop.js # Drag and drop
│ ├── bulk.js # Bulk actions
│ ├── exportimport.js # Export/import (JSON, CSV)
│ ├── idb.js # IndexedDB storage
│ └── main.js # App initialization
├── tests/
│ ├── setup.js # Jest test setup
│ ├── utils.test.js # Utility function tests
│ └── state.test.js # State management tests
├── images/
│ └── favicon.ico # App icon
└── package.json # npm configuration
- Frontend: Vanilla JavaScript (ES5 compatible, no build tools required)
- Styling: CSS3 with custom properties for theming
- Storage: localStorage (with IndexedDB support)
- Testing: Jest with jsdom environment
Works in all modern browsers:
- Chrome 60+
- Firefox 55+
- Safari 11+
- Edge 79+
- AI Voice Processing: Add or edit tasks using natural voice commands
- AI Data-Driven Suggestions: Receive intelligent recommendations for better time management
- Time Use Insights: Access detailed analytics including hours worked, task trends, and graphical summaries of productivity