← All templates

Note-taking

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

Notion-like note-taking with block editor, nested pages, databases, and templates — with built-in Stripe-backed subscription tiers

Open in Molecule

What is inside

  • auth
  • search
  • realtime
  • rich-text
  • nested-pages
  • templates
  • subscriptions

Screens (12)

  • Landing /
  • Login /login
  • Signup /signup
  • ForgotPassword /forgot-password
  • ResetPassword /reset-password
  • Home /home (signed in)
  • Notes /notes (signed in)
  • NoteEditor /notes/:id (signed in)
  • Search /search (signed in)
  • Graph /graph (signed in)
  • Tags /tags (signed in)
  • Settings /settings (signed in)

Data model (13 tables)

  • activities — id, actorId, action, resourceType, resourceId, metadata, createdAt
  • activity_seen_status — userId, lastSeenActivityId, updatedAt
  • blocks — id, page_id, parent_block_id, type, content, properties, position, created_at, …
  • bookmarks — id, userId, resourceType, resourceId, folder, createdAt, updatedAt
  • comments — id, resourceType, resourceId, userId, parentId, body, editedAt, createdAt, …
  • database_rows — id, database_id, values, position, created_at, updated_at
  • devices — id, createdAt, updatedAt, userId, name, pushPlatform, pushSubscription, hasPushSubscription
  • note_databases — id, workspace_id, page_id, created_by, name, schema, view_type, created_at, …
  • page_templates — id, workspace_id, created_by, name, description, category, icon, content, …
  • pages — id, workspace_id, parent_id, template_id, created_by, title, icon, cover_image, …
  • resource_tags — id, tagId, resourceType, resourceId, createdAt
  • tags — id, name, slug, color, description, createdAt, updatedAt
  • workspaces — id, owner_id, name, icon, created_at, updated_at

API (6 handlers)

  • blocks api/src/handlers/blocks.ts
  • databases api/src/handlers/databases.ts
  • pages api/src/handlers/pages.ts
  • profile api/src/handlers/profile.ts
  • templates api/src/handlers/templates.ts
  • workspaces api/src/handlers/workspaces.ts

Subscription tiers

free / pro / team — gated by: maxBlocks, maxDatabases, maxPages, maxTemplates, maxWorkspaces, advancedFeatures, canExport, retentionDays

Built from 30 @molecule/* packages

Browse all @molecule/* packages →

Required secrets

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

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