← All templates

Internal Knowledge Base

Business & SaaS · React + Node (Express) · 21 @molecule/* packages

Confluence-like knowledge base with articles, spaces, search, and permissions — with built-in Stripe-backed subscription tiers

Open in Molecule

What is inside

  • auth
  • search
  • articles
  • spaces
  • permissions
  • bookmarks
  • comments
  • subscriptions

Screens (16)

  • Login /login
  • Signup /signup
  • ForgotPassword /forgot-password
  • ResetPassword /reset-password
  • Home /home (signed in)
  • SpacesIndex /spaces (signed in)
  • SpaceHome /spaces/:key (signed in)
  • ArticleView /article/:id (signed in)
  • ArticleEditor /article/:id/edit (signed in)
  • SearchResults /search (signed in)
  • Settings /settings (signed in)
  • Landing /
  • Drafts /drafts (signed in)
  • Bookmarks /bookmarks (signed in)
  • Notifications /notifications (signed in)
  • Profile /profile (signed in)

Data model (14 tables)

  • ai_summaries — id, article_id, summary_md, model, generated_at
  • article_versions — id, article_id, edited_by_user_id, body_md, body_html, change_summary, edited_at
  • articles — id, space_id, parent_article_id, author_user_id, last_edited_by_user_id, title, slug, body_md, …
  • attachments — id, article_id, uploaded_by_user_id, s3_key, filename, content_type, size_bytes, uploaded_at
  • bookmarks — id, userId, resourceType, resourceId, folder, createdAt, updatedAt
  • comments — id, resourceType, resourceId, userId, parentId, body, editedAt, createdAt, …
  • devices — id, createdAt, updatedAt, userId, name, pushPlatform, pushSubscription, hasPushSubscription
  • notifications — id, user_id, kind, payload, read_at, created_at
  • reactions — id, resourceType, resourceId, userId, type, createdAt, updatedAt
  • resource_tags — id, tagId, resourceType, resourceId, createdAt
  • space_members — id, space_id, user_id, role, added_at
  • spaces — id, created_by_user_id, key, name, description, icon, color, archived_at, …
  • tags — id, name, slug, color, description, createdAt, updatedAt
  • payments — id, createdAt, updatedAt, userId, transactionId, productId, platformKey, data, …

API (9 handlers)

  • ai-summaries api/src/handlers/ai-summaries.ts
  • article-versions api/src/handlers/article-versions.ts
  • articles api/src/handlers/articles.ts
  • attachments api/src/handlers/attachments.ts
  • bookmarks api/src/handlers/bookmarks.ts
  • notifications api/src/handlers/notifications.ts
  • space-members api/src/handlers/space-members.ts
  • spaces api/src/handlers/spaces.ts
  • users-2fa api/src/handlers/users-2fa.ts

Subscription tiers

free / pro / team — gated by: maxArticles, maxSpaces, advancedFeatures, canExport, retentionDays

Built from 21 @molecule/* packages

Browse all @molecule/* packages →

Required secrets

  • DATABASE_URL PostgreSQL connection string
  • MEILISEARCH_API_KEY MeiliSearch API key
  • S3_BUCKET S3 bucket for attachments

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