A lightweight, self-contained scrum/kanban board — multiple projects, draggable ticket cards, priorities, story points, labels, assignees. No backend: everything persists to localStorage.
Built as an exercise in how far a "2010-era" library like Backbone.js goes with a modern toolchain: TypeScript, Vite, and cash-dom (a ~6kb jQuery-shaped DOM library) standing in for jQuery.
- Multiple projects with a color-coded sidebar switcher
- Fixed kanban columns: Backlog → To Do → In Progress → Review → Done
- Native HTML5 drag-and-drop, within and across columns — no DnD library
- Ticket cards with priority, story points, assignee, and labels
- A detail modal for full editing (also the only way to move a card by keyboard, since native drag-and-drop has none)
- Backbone.js — models, collections, views, router
- TypeScript (strict mode)
- Vite — dev server and build
- cash-dom — the
$Backbone's views need, without jQuery localStorage— the only persistence layer; no server, no database
yarn install
yarn dev # start the dev server
yarn build # typecheck + production build
yarn preview # preview the production buildsrc/
lib/ shared constants (columns/priorities) and the escapeHtml helper
models/ Project, Ticket
collections/ Projects, Tickets (+ the localStorage-backed sync layer)
views/ sidebar, board, columns, cards, and the ticket detail modal
router.ts project/:id routing
main.ts bootstrap + demo data seeding