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
Try it
Opens instantly. Runs on sample data, so changes reset on reload.
What is inside
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 (15 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, …
- user_settings — id, user_id, preferences, created_at, updated_at
API (10 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 - user-settings
api/src/handlers/user-settings.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
@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-bookmark@molecule/api-resource-comment@molecule/api-resource-payment@molecule/api-resource-reaction@molecule/api-resource-tag@molecule/api-resource-user@molecule/api-search-meilisearch@molecule/api-uploads-s3@molecule/app-billing-react@molecule/app-command-palette@molecule/app-data-table@molecule/app-keyboard-shortcuts@molecule/app-markdown@molecule/app-tree-view
Required secrets
DATABASE_URLPostgreSQL connection stringMEILISEARCH_API_KEYMeiliSearch API keyS3_BUCKETS3 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