← All templates

Blog / Publishing Platform

Content & Social · React + Node (Express) · 24 @molecule/* packages

Medium-like content publishing with rich text, SEO, RSS, drafts, scheduling — including a built-in subscription tier (Free / Pro / Team) backed by Stripe

Open in Molecule

What is inside

  • auth
  • search
  • rss
  • seo
  • scheduling
  • drafts
  • rich-text
  • image-upload
  • subscriptions

Screens (13)

  • Analytics /analytics (signed in)
  • Comments /comments (signed in)
  • Dashboard /dashboard (signed in)
  • ForgotPassword /forgot-password
  • Landing /
  • Login /login
  • PostDetail /post/:id
  • PostEditor /posts/new (signed in)
  • PostList /posts (signed in)
  • ResetPassword /reset-password
  • Settings /settings (signed in)
  • Signup /signup
  • Tags /tags (signed in)

Data model (8 tables)

  • bookmarks — id, userId, resourceType, resourceId, folder, createdAt, updatedAt
  • categories — id, name, slug, description, created_at, updatedAt
  • comments — id, resourceType, resourceId, userId, parentId, body, editedAt, createdAt, …
  • devices — id, createdAt, updatedAt, userId, name, pushPlatform, pushSubscription, hasPushSubscription
  • posts — id, author_id, user_id, title, slug, content, excerpt, category_id, …
  • reactions — id, resourceType, resourceId, userId, type, createdAt, updatedAt
  • resource_tags — id, tagId, resourceType, resourceId, createdAt
  • tags — id, name, slug, color, description, createdAt, updatedAt

API (10 handlers)

  • \_scheduled api/src/handlers/_scheduled.ts
  • analytics api/src/handlers/analytics.ts
  • categories api/src/handlers/categories.ts
  • comments api/src/handlers/comments.ts
  • feed api/src/handlers/feed.ts
  • interactions api/src/handlers/interactions.ts
  • notifications api/src/handlers/notifications.ts
  • posts api/src/handlers/posts.ts
  • profile api/src/handlers/profile.ts
  • tags api/src/handlers/tags.ts

Subscription tiers

free / pro / team — gated by: maxPosts, maxCommentsPerDay, canSchedulePosts, canUploadImages, uploadStorageMb, aiSummarization, advancedAnalytics, maxTags, canExport

Built from 24 @molecule/* packages

Browse all @molecule/* packages →

Required secrets

  • DATABASE_URL PostgreSQL connection string
  • MEILISEARCH_API_KEY MeiliSearch API key
  • S3_BUCKET S3 bucket for image uploads
  • S3_ACCESS_KEY_ID S3 access key
  • S3_SECRET_ACCESS_KEY S3 secret key

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