Helpdesk / Ticketing
Business & SaaS · React + Node (Express) · 21 @molecule/* packages
Zendesk-like support system with tickets, SLA, and knowledge base — including a built-in subscription tier (Free / Pro / Team) backed by Stripe
Try it
Opens instantly. Runs on sample data, so changes reset on reload.
What is inside
Screens (10)
- Dashboard
/(signed in) - ForgotPassword
/forgot-password - KnowledgeBase
/knowledge-base(signed in) - Login
/login - Reports
/reports(signed in) - ResetPassword
/reset-password - Settings
/settings(signed in) - Signup
/signup - TicketDetail
/tickets/:id(signed in) - Tickets
/tickets(signed in)
Data model (12 tables)
- activities — id, actorId, action, resourceType, resourceId, metadata, createdAt
- activity_seen_status — userId, lastSeenActivityId, updatedAt
- comments — id, resourceType, resourceId, userId, parentId, body, editedAt, createdAt, …
- devices — id, createdAt, updatedAt, userId, name, pushPlatform, pushSubscription, hasPushSubscription
- kb_articles — id, title, body, category, status, author_id, created_at, updated_at, …
- macros — id, name, description, actions, reply_template, created_by, created_at, updatedAt
- resource_tags — id, tagId, resourceType, resourceId, createdAt
- sla_policies — id, name, description, first_response_hours, resolution_hours, priority, active, created_at, …
- tags — id, name, slug, color, description, createdAt, updatedAt
- ticket_replies — id, ticket_id, body, is_internal, author_id, created_at, updatedAt
- tickets — id, subject, description, status, priority, category, assignee_id, requester_id, …
- payments — id, createdAt, updatedAt, userId, transactionId, productId, platformKey, data, …
API (6 handlers)
- \_test
api/src/handlers/_test.ts - articles
api/src/handlers/articles.ts - macros
api/src/handlers/macros.ts - sla
api/src/handlers/sla.ts - tickets
api/src/handlers/tickets.ts - users-me
api/src/handlers/users-me.ts
Subscription tiers
free / pro / team — gated by: maxOpenTickets, maxAgents, maxKbArticles, maxMacros, slaTracking, customFields, automation, satisfactionSurveys, multiBrand
Built from 21 @molecule/* packages
@molecule/api-ai-classification@molecule/api-ai-summarization@molecule/api-database-postgresql@molecule/api-email-templates@molecule/api-emails-mailgun@molecule/api-entitlements@molecule/api-payments-stripe@molecule/api-permissions-custom@molecule/api-resource-activity-feed@molecule/api-resource-comment@molecule/api-resource-payment@molecule/api-resource-tag@molecule/api-resource-user@molecule/api-search-meilisearch@molecule/api-workflow-database@molecule/app-billing-react@molecule/app-command-palette@molecule/app-data-table@molecule/app-kpi-card-react@molecule/app-markdown@molecule/app-shell-layout-react
Required secrets
DATABASE_URLPostgreSQL connection stringMEILISEARCH_API_KEYMeiliSearch API keyMAILGUN_API_KEYMailgun API key for notificationsMAILGUN_DOMAINMailgun sending domain
The @molecule/* packages are Apache-2.0. The app you build from this template is yours to export and self-host. Licensing