← All templates

Crypto Tracker

Finance · React + Node (Express) · 18 @molecule/* packages

CoinGecko-like cryptocurrency tracker with portfolio, price charts, alerts, and market data — with built-in Stripe-backed subscription tiers

Open in Molecule

What is inside

  • auth
  • search
  • notifications
  • alerts
  • subscriptions

Screens (15)

  • Login /login
  • Signup /signup
  • ForgotPassword /forgot-password
  • ResetPassword /reset-password
  • Dashboard /dashboard (signed in)
  • Markets /markets (signed in)
  • CoinDetail /coin/:symbol (signed in)
  • Portfolio /portfolio (signed in)
  • Watchlist /watchlist (signed in)
  • Alerts /alerts (signed in)
  • Settings /settings (signed in)
  • News /news (signed in)
  • Transactions /transactions (signed in)
  • AlertNew /alerts/new (signed in)
  • NotFound /404

Data model (11 tables)

  • bookmarks — id, userId, resourceType, resourceId, folder, createdAt, updatedAt
  • coin_price_history — id, coin_id, interval, price, timestamp
  • coins — id, symbol, name, market_cap_rank, current_price, market_cap_usd, market_cap, volume_24h_usd, …
  • crypto_holdings — id, user_id, coin_id, symbol, name, amount, avg_buy_price, total_cost, …
  • crypto_news — id, title, source, summary, url, related_symbols, signal, published_at
  • crypto_transactions — id, user_id, symbol, kind, amount, price_usd, fee_usd, exchange, …
  • crypto_watchlist — id, user_id, coin_id, symbol, name, target_price, alert_direction, alert_threshold_cents, …
  • devices — id, createdAt, updatedAt, userId, name, pushPlatform, pushSubscription, hasPushSubscription
  • notifications — id, createdAt, updatedAt, user_id, type, title, body, href, …
  • user_preferences — user_id, display_name, quote_currency, locale, refresh_seconds, theme, notify_email, notify_push, …
  • price_alerts — id, user_id, coin_id, symbol, condition, target_price, is_active, channels, …

API (10 handlers)

  • \_seed api/src/handlers/_seed.ts
  • alerts api/src/handlers/alerts.ts
  • markets api/src/handlers/markets.ts
  • news api/src/handlers/news.ts
  • notifications api/src/handlers/notifications.ts
  • portfolio api/src/handlers/portfolio.ts
  • preferences api/src/handlers/preferences.ts
  • reports api/src/handlers/reports.ts
  • transactions api/src/handlers/transactions.ts
  • watchlist api/src/handlers/watchlist.ts

Subscription tiers

free / pro / team — gated by: maxAlerts, maxCoins, maxMarket, maxPortfolio, advancedFeatures, canExport, retentionDays

Built from 18 @molecule/* packages

Browse all @molecule/* packages →

Required secrets

  • DATABASE_URL PostgreSQL connection string
  • ENCRYPTION_KEY AES key for encrypting API keys
  • 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