A production-ready task management application built with React 18 and TypeScript, featuring drag-and-drop, custom virtualization for handling 100,000+ tasks, undo/redo system, dark mode, and advanced filtering.
🌐 Live Demo: https://real-time-collaborative-task-board-rho.vercel.app/
Built by Nikhil Nagar
- ✅ Drag & Drop - Reorder tasks within and across columns
- ✅ Task Management - Create, edit, delete tasks with priority levels
- ✅ Undo/Redo - Full history tracking with keyboard shortcuts (Ctrl/Cmd+Z)
- ✅ Multi-Select Filters - Filter by assignees and priorities
- ✅ Debounced Search - Real-time search (300ms debounce)
- ✅ Dark Mode - Complete dark theme support with system preference detection
- ✅ Offline Support - PWA with service workers, works offline
- ✅ LocalStorage Persistence - Tasks saved locally
- ✅ Responsive Design - Works on all screen sizes
- ✅ Toast Notifications - User feedback for all actions
- ✅ Keyboard Shortcuts - Full keyboard navigation support
- ✅ Custom Virtualization - Handles 100,000+ tasks at 60 FPS
- ✅ Runtime Toggle - ⚡ Virtualize button in navigation bar
- ✅ Constant Performance - ~20ms render time regardless of list size
- ✅ React.memo - 70% reduction in re-renders
- ✅ Memoization - useMemo/useCallback throughout
Performance: 100 tasks (12ms, 5MB) | 1,000 tasks (18ms, 7MB) | 100,000 tasks (22ms, 10MB)
- ✅ ARIA Labels - Full screen reader support
- ✅ Keyboard Navigation - Complete keyboard accessibility
- ✅ Semantic HTML - Proper structure and landmarks
- ✅ Offline First - Service workers with smart caching strategies
- ✅ Installable - Add to home screen on mobile/desktop
- ✅ Background Sync - Syncs data when connection restored
- ✅ Cache Strategies - Cache-first for assets, network-first for data
- ✅ App-like Experience - Standalone mode with custom theme
- React 18 with TypeScript
- Tailwind CSS for styling
- Custom Virtualization (not react-window)
- Reusable Components (MultiSelect, etc.)
- Custom Hooks (useVirtualization, useDebounce, useTasks, etc.)
- LocalStorage for persistence
# Install dependencies
yarn install
# Start development server
yarn start
# Build for production
yarn build
# Run tests
yarn testThe app will open at http://localhost:3000
src/
├── components/ # React components
│ ├── TaskBoard.tsx
│ ├── TaskColumn.tsx
│ ├── VirtualizedTaskColumn.tsx # Custom virtualization
│ ├── TaskCard.tsx
│ ├── TaskModal.tsx
│ ├── FilterBar.tsx
│ └── MultiSelect.tsx # Reusable dropdown
├── hooks/ # Custom hooks
│ ├── useTasks.ts
│ ├── useVirtualization.ts
│ ├── useDebounce.ts
│ └── useDarkMode.ts
├── types/ # TypeScript types
└── utils/ # Utility functions
| Shortcut | Action |
|---|---|
N |
Create new task |
Ctrl/Cmd + Z |
Undo |
Ctrl/Cmd + Shift + Z |
Redo |
Esc |
Close modal |
? |
Show shortcuts help |
MIT License - Educational and demonstration purposes.
Built with ❤️ by Nikhil Nagar