Skip to content

📰 最低限「朝刊」と「夕刊」として機能する情報表示を実現する #8

Description

@ryotamurakami2fb

概要

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: インフラ・環境変数の設定 🔧

  • Supabase/Neon PostgreSQL のセットアップ → DATABASE_URL
  • Upstash Redis のセットアップ → Redis接続情報
  • Auth.js の設定 → AUTH_SECRET, AUTH_GITHUB_ID, AUTH_GITHUB_SECRET(最低限GitHub OAuth)
  • Drizzle マイグレーション実行 (pnpm db:push)
  • Vercel に全環境変数を設定

Phase 2: データ収集の稼働確認 📡

  • /api/cron/collect を手動で叩いてeditionが作成されることを確認
  • 各データソースの稼働確認:
    • HackerNews(APIキー不要)
    • GitHub Trending(APIキー不要)
    • Reddit
    • Tech RSS(APIキー不要)
    • はてなブックマーク(APIキー不要)
    • 天気 Open-Meteo(APIキー不要)
  • Vercel cron が定期実行されることを確認

Phase 3: 表示の確認・調整 🎨

  • トップページに朝刊 or 夕刊のeditionが表示される
  • Weather Widget に東京の天気が出る
  • Hero Section にスコアの高い記事が出る
  • 各セクション(Tech / GitHub / HN / Reddit / はてな)に記事が並ぶ

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に書き込む

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions