← All templates

Kanban Board

Productivity · React + Node (Express) · 17 @molecule/* packages

Trello-like boards with lists, cards, labels, drag-drop, and real-time collaboration — with built-in Stripe-backed subscription tiers

Open in Molecule

What is inside

  • auth
  • realtime
  • drag-drop
  • labels
  • comments
  • subscriptions

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 (17 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

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 17 @molecule/* packages

Browse all @molecule/* packages →

Required secrets

  • DATABASE_URL PostgreSQL connection string

The @molecule/* packages are Apache-2.0. The app you build from this template is yours to export and self-host. Licensing