A comprehensive web application for managing tasks from the task-master.dev ecosystem. This application provides a visual interface for viewing, navigating, and updating tasks.json files with full CRUD operations.
- Hierarchical Task Management: Tree-view display of tasks and subtasks with expandable/collapsible nodes
- Full CRUD Operations: Create, read, update, and delete tasks with real-time editing
- Advanced Search & Filtering: Filter by status, priority, assignee, tags, and text search
- File Import/Export: Upload and download tasks.json files with validation
- Drag & Drop: Intuitive file upload with visual feedback
- Responsive Design: Optimized for mobile, tablet, and desktop viewing
- Dark/Light Mode: Seamless theme switching with system preference detection
- Professional Design: Clean, modern interface with subtle animations and micro-interactions
- Accessibility: WCAG compliant with proper keyboard navigation and screen reader support
- Progress Tracking: Visual progress bars and completion percentages
- Time Management: Estimated vs actual hours tracking
- Priority System: Visual priority indicators with color coding
- Tag System: Flexible tagging with easy management
- Status Workflow: Complete task lifecycle management
- Due Date Management: Calendar integration with overdue task highlighting
- Framework: Next.js 13+ with App Router
- UI Components: Shadcn/ui component library
- Styling: Tailwind CSS with custom design system
- State Management: Zustand for efficient state management
- Type Safety: TypeScript throughout the application
- File Handling: React Dropzone for file operations
- Theme System: Next-themes for dark/light mode
- Node.js 18+ installed
- npm or yarn package manager
- Install dependencies:
npm install- Start the development server:
npm run dev- Open http://localhost:3000 in your browser
- Import File: Drag and drop a tasks.json file onto the upload area, or click to browse
- Sample Data: Click "Load Sample Data" to start with example tasks
- Manual Creation: Create tasks directly using the interface
- View Tasks: Browse the hierarchical task tree in the left sidebar
- Edit Tasks: Click any task to open the editor panel
- Create Subtasks: Use the dropdown menu or add button to create nested tasks
- Filter Tasks: Use the search and filter options to find specific tasks
- Export Data: Download your tasks as a JSON file for backup or sharing
- Breadcrumbs: Track your current location in the task hierarchy
- Tree Navigation: Expand/collapse task groups for focused viewing
- Quick Access: Jump between tasks using the search functionality
The application supports the complete task-master.dev schema including:
- Basic Properties: ID, title, description, status, priority
- Time Tracking: Created/updated dates, due dates, estimated/actual hours
- Organization: Tags, assignee, parent/child relationships
- Progress: Completion percentage, status workflow
- Metadata: Version tracking, statistics
Tasks are stored in JSON format with the following structure:
{
"version": "1.0.0",
"metadata": {
"created_at": "2025-01-27T...",
"updated_at": "2025-01-27T...",
"total_tasks": 5
},
"tasks": [
{
"id": "unique-id",
"title": "Task Title",
"description": "Task description",
"status": "todo|in_progress|completed|blocked|cancelled",
"priority": "low|medium|high|urgent",
"created_at": "ISO date string",
"updated_at": "ISO date string",
"due_date": "ISO date string (optional)",
"tags": ["tag1", "tag2"],
"subtasks": [...],
"parent_id": "parent-task-id (optional)",
"assignee": "username (optional)",
"estimated_hours": 8,
"actual_hours": 6,
"completion_percentage": 75
}
]
}This project uses:
- ESLint: Code linting and formatting
- TypeScript: Type checking and enhanced development experience
- Prettier: Code formatting (configure as needed)
- Follow the established file structure and naming conventions
- Maintain TypeScript strict typing throughout the application
- Use Shadcn/ui components for consistency
- Implement proper error handling and loading states
- Write responsive code that works across all device sizes
To build for production:
npm run buildThe application is configured for static export and can be deployed to any static hosting provider.
This project is open source and available under the MIT License.