https://github.com/its-rath/kanban-task-management-system
Open Source Task Management System
https://github.com/its-rath/kanban-task-management-system
jsx rag react tailwindcss task-management-system tsx-language typescript
Last synced: 3 months ago
JSON representation
Open Source Task Management System
- Host: GitHub
- URL: https://github.com/its-rath/kanban-task-management-system
- Owner: its-rath
- Created: 2025-10-30T07:51:37.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2025-10-30T11:45:32.000Z (8 months ago)
- Last Synced: 2025-10-30T13:31:55.741Z (8 months ago)
- Topics: jsx, rag, react, tailwindcss, task-management-system, tsx-language, typescript
- Language: TypeScript
- Homepage:
- Size: 65.6 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Kanban Board Component
[](https://www.typescriptlang.org/)
[](https://reactjs.org/)
[](https://tailwindcss.com/)
[](https://storybook.js.org/)
A production-grade, fully accessible Kanban Board component built with React, TypeScript, and Tailwind CSS.
## โจ Features
- **Drag & Drop**: Smooth drag-and-drop using @dnd-kit/core primitives
- **Type-Safe**: Built with TypeScript strict mode
- **Accessible**: WCAG 2.1 AA compliant with full keyboard navigation
- **Responsive**: Mobile, tablet, and desktop layouts
- **Performant**: Optimized with memoization and virtualization
- **Documented**: Comprehensive Storybook documentation
## ๐ Installation
```bash
npm install
npm run storybook
```
## ๐ Usage
import { KanbanBoard } from './components/KanbanBoard';
import { useKanbanBoard } from './hooks/useKanbanBoard';
function App() {
const {
columns,
tasks,
handleTaskMove,
handleTaskCreate,
handleTaskUpdate,
handleTaskDelete,
} = useKanbanBoard({ initialColumns, initialTasks });
return (
);
}
## ๐ฏ Architecture
### Component Structure
- **KanbanBoard**: Main container with drag-and-drop context
- **KanbanColumn**: Individual columns with droppable areas
- **KanbanCard**: Task cards with drag functionality
- **TaskModal**: Editing interface for task details
### Custom Hooks
- **useDragAndDrop**: Manages drag-and-drop state and sensors
- **useKanbanBoard**: Manages board state and CRUD operations
### Utilities
- **task.utils**: Task-related helper functions
- **column.utils**: Column manipulation utilities
## โจ๏ธ Keyboard Navigation
| Key | Action |
|-----------|---------------------------------------|
| Tab | Move focus between cards |
| Shift+Tab | Move focus backwards |
| Enter/Space | Select card or activate element |
| Arrow Keys| Navigate between cards |
| Escape | Close modal or cancel action |
| Delete | Delete focused card |
## ๐จ Customization
Extend Tailwind configuration in `tailwind.config.js` to customize colors, spacing, and animations.
## ๐ Performance
- React.memo for expensive components
- useCallback and useMemo for optimization
- List virtualization for large datasets (50+ items)
- Debounced search and filter inputs
## ๐งช Storybook Stories
- **Default**: Basic board with sample data
- **Empty State**: Board with no tasks
- **Large Dataset**: 50+ tasks for performance testing
- **Mobile View**: Responsive layout demonstration
- **Accessibility Demo**: Keyboard navigation showcase
## ๐งพ Conclusion
This production-grade Kanban Board component demonstrates enterprise-level React developmentwith TypeScript, featuring comprehensive accessibility, performance optimization, and Storybookdocumentation. All code follows strict type-safety standards and modern best practices for scalablecomponent libraries.
## ๐ License
MIT
## ๐จโ๐ป Author
[Swayam Rath]