Kanban Board
Productivity · React + Node (Express) · 19 @molecule/* packages
Trello-like boards with lists, cards, labels, drag-drop, and real-time collaboration — with built-in Stripe-backed subscription tiers
Try it
Opens instantly. Runs on sample data, so changes reset on reload.
What is inside
Screens (13)
- Landing
/ - Login
/login - Signup
/signup - ForgotPassword
/forgot-password - ResetPassword
/reset-password - Dashboard
/dashboard(signed in) - Boards
/boards(signed in) - BoardDetail
/boards/:id(signed in) - CardDetail
/cards/:id(signed in) - Backlog
/backlog(signed in) - Team
/team(signed in) - Settings
/settings(signed in) - Notifications
/notifications(signed in)
Data model (18 tables)
- activities — id, actorId, action, resourceType, resourceId, metadata, createdAt
- activity_seen_status — userId, lastSeenActivityId, updatedAt
- board_lists — id, board_id, owner_id, name, position, is_archived, created_at, updated_at
- board_members — id, board_id, user_id, invited_by, role, accepted_at, created_at, updated_at
- boards — id, owner_id, user_id, name, description, background_color, is_starred, is_archived, …
- card_attachments — id, card_id, owner_id, uploaded_by, file_url, file_name, mime, size, …
- card_comments — id, card_id, owner_id, author_id, body, mentions, created_at, updated_at
- card_labels — id, card_id, label_id, owner_id, created_at
- cards — id, board_id, list_id, owner_id, creator_id, assignee_id, title, description, …
- checklist_items — id, checklist_id, owner_id, text, is_done, position, created_at, updated_at
- checklists — id, card_id, owner_id, title, position, created_at, updated_at
- comments — id, resourceType, resourceId, userId, parentId, body, editedAt, createdAt, …
- devices — id, createdAt, updatedAt, userId, name, pushPlatform, pushSubscription, hasPushSubscription
- labels — id, board_id, owner_id, name, color, created_at, updated_at
- notifications — id, user_id, type, title, body, data, read_at, created_at
- resource_tags — id, tagId, resourceType, resourceId, createdAt
- tags — id, name, slug, color, description, createdAt, updatedAt
- payments — id, createdAt, updatedAt, userId, transactionId, productId, platformKey, data, …
API (9 handlers)
- attachments
api/src/handlers/attachments.ts - boards
api/src/handlers/boards.ts - cards
api/src/handlers/cards.ts - checklists
api/src/handlers/checklists.ts - comments
api/src/handlers/comments.ts - labels
api/src/handlers/labels.ts - lists
api/src/handlers/lists.ts - members
api/src/handlers/members.ts - notifications
api/src/handlers/notifications.ts
Subscription tiers
free / pro / team — gated by: maxBoards, maxCards, maxLists, advancedFeatures, canExport, retentionDays
Built from 19 @molecule/* packages
@molecule/api-database-pglite@molecule/api-database-postgresql@molecule/api-email-templates@molecule/api-emails-mailgun@molecule/api-entitlements@molecule/api-payments-capture@molecule/api-payments-stripe@molecule/api-realtime-socketio@molecule/api-resource-activity-feed@molecule/api-resource-comment@molecule/api-resource-payment@molecule/api-resource-tag@molecule/api-resource-user@molecule/app-billing-react@molecule/app-command-palette-cmdk@molecule/app-drag-drop-dndkit@molecule/app-kanban@molecule/app-keyboard-shortcuts-hotkeys@molecule/app-realtime-socketio
Required secrets
DATABASE_URLPostgreSQL connection string
The @molecule/* packages are Apache-2.0. The app you build from this template is yours to export and self-host. Licensing