← All templates

Document Collaboration

Communication · React + Node (Express) · 19 @molecule/* packages

Google Docs-like real-time document editing with comments, version history, and sharing — with built-in Stripe-backed subscription tiers

Open in Molecule

What is inside

  • auth
  • realtime
  • search
  • comments
  • versioning
  • sharing
  • subscriptions

Screens (15)

  • Landing /
  • Login /login
  • Signup /signup
  • ForgotPassword /forgot-password
  • ResetPassword /reset-password
  • Dashboard /dashboard (signed in)
  • Editor /doc/:id (signed in)
  • VersionHistory /doc/:id/history (signed in)
  • Comments /doc/:id/comments (signed in)
  • Shared /shared (signed in)
  • Settings /settings (signed in)
  • Notifications /notifications (signed in)
  • Templates /templates (signed in)
  • Trash /trash (signed in)
  • Profile /profile (signed in)

Data model (11 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
  • document_comments — id, document_id, author_id, parent_id, body, anchor, is_resolved, resolved_by, …
  • document_shares — id, document_id, shared_by, shared_with_user_id, email, role, accepted_at, created_at, …
  • document_templates — id, owner_id, name, description, category, content, is_system, created_at, …
  • document_versions — id, document_id, author_id, content, version, change_summary, created_at
  • documents — id, owner_id, template_id, title, content, status, is_template, version, …
  • payments — id, createdAt, updatedAt, userId, transactionId, productId, platformKey, data, …
  • notifications — id, user_id, type, actor, description, href, unread, created_at

API (8 handlers)

  • \_seed api/src/handlers/_seed.ts
  • comments api/src/handlers/comments.ts
  • documents api/src/handlers/documents.ts
  • notifications api/src/handlers/notifications.ts
  • profile api/src/handlers/profile.ts
  • sharing api/src/handlers/sharing.ts
  • templates api/src/handlers/templates.ts
  • versions api/src/handlers/versions.ts

Subscription tiers

free / pro / team — gated by: maxComments, maxDocuments, maxSharing, maxVersions, advancedFeatures, canExport, retentionDays

Built from 19 @molecule/* packages

Browse all @molecule/* packages →

Required secrets

  • DATABASE_URL PostgreSQL connection string
  • S3_BUCKET S3 bucket for document assets
  • MAILGUN_API_KEY Mailgun API key for sharing invites

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