概要
MorningStack は「Bloomberg風テックダッシュボード」としてコード自体はかなり作り込まれているが、実際にはデプロイ環境の設定が揃っておらず「No edition available」状態。最低限、朝刊・夕刊として毎日情報が表示される状態にする。
現状
- コードは揃ってる: HackerNews, GitHub, Reddit, RSS, はてな, Bluesky, YouTube, ProductHunt, 天気, 株式 — 全ソースの実装済み
- Vercel cron 設定済み: 朝6:00 (UTC 21:00) / 夕17:00 (UTC 8:00)
- Graceful degradation: APIキーなし →
return [] で落ちない設計
- ❌ 実データが流れてない: 環境変数 (DATABASE_URL, Redis, OAuth等) が未設定のため、editionが作られず空のまま
ゴール
毎朝・毎夕アクセスしたら、その日のテックニュースが読める状態。
やること
Phase 1: インフラ・環境変数の設定 🔧
Phase 2: データ収集の稼働確認 📡
Phase 3: 表示の確認・調整 🎨
Phase 4: 後回しでOK(nice-to-have) 📌
優先順位の考え方
APIキー不要で動くソース(HackerNews, GitHub, RSS, はてな, 天気)だけでも十分「朝刊」として成立する。まずはDBとRedisさえ繋げば、半分以上のセクションが動き始める。
技術メモ
- スタック: Next.js 16 + App Router, Drizzle ORM, Upstash Redis, Auth.js v5, shadcn/ui
- README に詳細なCredentialsセットアップガイドあり
src/lib/sources/ 配下に各データソースの取得ロジック
src/app/api/cron/collect/route.ts が全ソースを集約してeditionをDBに書き込む
概要
MorningStack は「Bloomberg風テックダッシュボード」としてコード自体はかなり作り込まれているが、実際にはデプロイ環境の設定が揃っておらず「No edition available」状態。最低限、朝刊・夕刊として毎日情報が表示される状態にする。
現状
return []で落ちない設計ゴール
毎朝・毎夕アクセスしたら、その日のテックニュースが読める状態。
やること
Phase 1: インフラ・環境変数の設定 🔧
DATABASE_URLAUTH_SECRET,AUTH_GITHUB_ID,AUTH_GITHUB_SECRET(最低限GitHub OAuth)pnpm db:push)Phase 2: データ収集の稼働確認 📡
/api/cron/collectを手動で叩いてeditionが作成されることを確認Phase 3: 表示の確認・調整 🎨
Phase 4: 後回しでOK(nice-to-have) 📌
優先順位の考え方
APIキー不要で動くソース(HackerNews, GitHub, RSS, はてな, 天気)だけでも十分「朝刊」として成立する。まずはDBとRedisさえ繋げば、半分以上のセクションが動き始める。
技術メモ
src/lib/sources/配下に各データソースの取得ロジックsrc/app/api/cron/collect/route.tsが全ソースを集約してeditionをDBに書き込む