← All templates

News Aggregator

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

Flipboard-like news with RSS parsing, categories, and personalization — with built-in Stripe-backed subscription tiers

Open in Molecule

What is inside

  • auth
  • search
  • rss-parsing
  • categories
  • bookmarks
  • ai-summary
  • personalization
  • subscriptions

Screens (14)

  • Landing /
  • Login /login
  • Signup /signup
  • ForgotPassword /forgot-password
  • ResetPassword /reset-password
  • Home /home (signed in)
  • TopicDetail /topics/:slug (signed in)
  • StoryDetail /stories/:id (signed in)
  • Saved /saved (signed in)
  • Sources /sources (signed in)
  • Settings /settings (signed in)
  • Topics /topics (signed in)
  • SourceDetail /sources/:slug (signed in)
  • Search /search (signed in)

Data model (10 tables)

  • news_categories — id, name, slug, icon, color, tint, sort_order, created_at, …
  • sources — id, user_id, name, slug, description, feed_url, website_url, category_id, …
  • articles — id, source_id, category_id, title, url, excerpt, content, image_url, …
  • story_coverage — id, article_id, source_id, headline, excerpt, url, published_at, created_at, …
  • user_interests — id, user_id, category_id, active, created_at, updatedAt
  • source_followers — id, user_id, source_id, created_at
  • bookmarks — id, userId, resourceType, resourceId, folder, createdAt, updatedAt
  • devices — id, createdAt, updatedAt, userId, name, pushPlatform, pushSubscription, hasPushSubscription
  • tags — id, name, slug, color, description, createdAt, updatedAt
  • resource_tags — id, tagId, resourceType, resourceId, createdAt

API (7 handlers)

  • articles api/src/handlers/articles.ts
  • bookmarks api/src/handlers/bookmarks.ts
  • categories api/src/handlers/categories.ts
  • search api/src/handlers/search.ts
  • sources api/src/handlers/sources.ts
  • stories api/src/handlers/stories.ts
  • topics api/src/handlers/topics.ts

Subscription tiers

free / pro / team — gated by: maxArticles, maxBookmarks, maxCategories, maxSources, advancedFeatures, canExport, retentionDays

Built from 16 @molecule/* packages

Browse all @molecule/* packages →

Required secrets

  • DATABASE_URL PostgreSQL connection string
  • MEILISEARCH_API_KEY MeiliSearch API key

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