A modern task management application built with TypeScript and vanilla JavaScript.
- TypeScript - Type-safe development
- Vanilla JavaScript - No framework dependencies
- HTML5 - Semantic markup
- CSS3 - Custom styling
- Tailwind CSS - Utility-first CSS framework
- localStorage - Data persistence
- Drag and drop task management
- Add, edit, and delete tasks
- Task priority system (High, Medium, Low)
- Responsive design for all devices
- Persistent data storage
- Readable task IDs (TASK-001, TASK-002, etc.)
vanilla-js-kanban-board/
├── src/
│ ├── components/
│ │ ├── boardManager.ts
│ │ ├── taskElement.ts
│ │ └── errorHandler.ts
│ ├── handlers/
│ │ └── eventListeners.ts
│ ├── templates/
│ │ ├── headerTemplate.ts
│ │ ├── footerTemplate.ts
│ │ ├── boardTemplate.ts
│ │ ├── dialogTemplate.ts
│ │ └── templateManager.ts
│ ├── utils/
│ │ ├── htmlUtils.ts
│ │ ├── persistence.ts
│ │ ├── idGenerator.ts
│ │ └── migration.ts
│ ├── data/
│ │ └── dummy.json
│ ├── types.ts
│ └── kanban.ts
├── assets/
│ ├── css/
│ │ ├── style.css
│ │ ├── colors.css
│ │ ├── responsive.css
│ │ └── header-footer.css
│ └── js/dist/ # Compiled JavaScript
├── index.html
├── project-details.html
├── package.json
└── tsconfig.json
npm install
npm run build
npm start
Open your browser to http://localhost:3000
npm run build # Compile TypeScript
npm run watch # Watch for changes and auto-compile
npm run dev # Development mode with auto-compilation
npm start # Start live server
- Add Tasks: Click the "+" button in any column
- Edit Tasks: Click the edit (✏️) button on any task
- Delete Tasks: Click the delete (🗑️) button on any task
- Move Tasks: Drag and drop tasks between columns
- View Details: Click "Project Details" in the header