Skip to content

Bloomberg-inspired morning tech dashboard — React, Next.js, Tailwind

Notifications You must be signed in to change notification settings

laststance/morning-stack

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


🔧 MorningStack Credentials セットアップガイド

アーキテクチャ全体像

┌─────────────────────────────────────────────────────┐ │ MorningStack (Next.js 16 + App Router) │ │ │ │ ┌──────────┐ ┌──────────┐ ┌──────────────────┐ │ │ │ Auth.js │ │ Drizzle │ │ Upstash Redis │ │ │ │ (OAuth) │ │ ORM │ │ (Cache) │ │ │ └────┬─────┘ └────┬─────┘ └────┬─────────────┘ │ │ │ │ │ │ └───────┼──────────────┼──────────────┼────────────────┘ │ │ │ ┌────▼────┐ ┌────▼──────┐ ┌───▼───────────┐ │ GitHub │ │ Supabase │ │ Upstash │ │ Google │ │ Postgres │ │ Redis REST │ │ OAuth │ │ (Neon) │ │ │ └─────────┘ └───────────┘ └───────────────┘

★ Insight ─────────────────────────────────────

  • Neon HTTP driver: @neondatabase/serverless はVercel Edgeランタイムでも動く。Supabase PostgresはNeon互換接続文字列を提供するため、neon() クライアントでHTTPリクエスト経由でクエリを飛ばせる
  • Graceful degradation設計: 全ソースが !apiKey → return [] パターンで実装済み。APIキーなしでもアプリは起動する(「No edition available」状態)
  • Auth.js v5 auto-detect: AUTH_GITHUB_ID / AUTH_GOOGLE_ID の命名規則で自動プロバイダ検出。明示的に clientId を渡す必要なし ─────────────────────────────────────────────────

全環境変数の一覧 ┌──────────────────────────┬─────────────────┬────────────────┬──────────────────────┐ │ 変数名 │ 必須度 │ サービス │ 用途 │ ├──────────────────────────┼─────────────────┼────────────────┼──────────────────────┤ │ DATABASE_URL │ 🔴 必須 │ Supabase │ PostgreSQL接続 │ ├──────────────────────────┼─────────────────┼────────────────┼──────────────────────┤ │ AUTH_SECRET │ 🔴 必須 │ Auth.js │ セッション暗号化キー │ ├──────────────────────────┼─────────────────┼────────────────┼──────────────────────┤ │ AUTH_GITHUB_ID │ 🟡 どちらか必須 │ GitHub OAuth │ ログイン │ ├──────────────────────────┼─────────────────┼────────────────┼──────────────────────┤ │ AUTH_GITHUB_SECRET │ 🟡 どちらか必須 │ GitHub OAuth │ ログイン │ ├──────────────────────────┼─────────────────┼────────────────┼──────────────────────┤ │ AUTH_GOOGLE_ID │ 🟡 どちらか必須 │ Google OAuth │ ログイン │ ├──────────────────────────┼─────────────────┼────────────────┼──────────────────────┤ │ AUTH_GOOGLE_SECRET │ 🟡 どちらか必須 │ Google OAuth │ ログイン │ ├──────────────────────────┼─────────────────┼────────────────┼──────────────────────┤ │ UPSTASH_REDIS_REST_URL │ 🟢 任意 │ Upstash │ キャッシュ │ ├──────────────────────────┼─────────────────┼────────────────┼──────────────────────┤ │ UPSTASH_REDIS_REST_TOKEN │ 🟢 任意 │ Upstash │ キャッシュ │ ├──────────────────────────┼─────────────────┼────────────────┼──────────────────────┤ │ YOUTUBE_API_KEY │ 🟢 任意 │ Google Cloud │ YouTube動画 │ ├──────────────────────────┼─────────────────┼────────────────┼──────────────────────┤ │ OPENWEATHERMAP_API_KEY │ 🟢 任意 │ OpenWeatherMap │ 天気ウィジェット │ ├──────────────────────────┼─────────────────┼────────────────┼──────────────────────┤ │ PRODUCTHUNT_API_TOKEN │ 🟢 任意 │ ProductHunt │ PH記事 │ ├──────────────────────────┼─────────────────┼────────────────┼──────────────────────┤ │ CRON_SECRET │ 🟢 任意 │ Vercel Cron │ cron認証 │ └──────────────────────────┴─────────────────┴────────────────┴──────────────────────┘

About

Bloomberg-inspired morning tech dashboard — React, Next.js, Tailwind

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published