Kawara は開発者向けのトレンドフィードアグリゲーターです。GitHub や Zenn などの人気のあるプラットフォームから最新のトレンド情報を収集し、一箇所で閲覧できます。さらに、Google の Gemini AI を使用して記事の要約を日本語で提供します。
- 複数ソースからのフィード: GitHub Trending と Zenn の記事を自動的に収集
- AI による要約: Google Gemini AI を使用して記事の内容を日本語で要約
- 認証機能: Better Auth を使用したセキュアなユーザー認証
- 自動更新: Inngest を使用した定期的なフィード更新
- モダンな UI: React と Tailwind CSS を使用した美しいインターフェース
- React 19 + React Compiler
- TanStack Start + Router + Query
- Tailwind CSS v4 + shadcn/ui
- Drizzle ORM + PostgreSQL
- Better Auth
- Google Gemini AI
- Inngest (バックグラウンドジョブ)
-
リポジトリをクローンします:
git clone https://github.com/yourusername/kawara.git cd kawara
-
依存関係をインストールします:
bun install
-
.env.example
をコピーして.env
ファイルを作成し、必要な環境変数を設定します:cp .env.example .env
以下の環境変数を設定する必要があります:
DATABASE_URL
: PostgreSQL データベース接続文字列BETTER_AUTH_SECRET
: 認証用のシークレットキーGOOGLE_CLIENT_ID
とGOOGLE_CLIENT_SECRET
: Google OAuth 認証用GOOGLE_GENAI_API_KEY
: Google Gemini AI API キーINNGEST_EVENT_KEY
とINNGEST_SIGNING_KEY
: Inngest 用のキー
-
データベーススキーマを作成します:
bun db push
-
開発サーバーを起動します:
bun dev
開発サーバーは http://localhost:3000 で実行されます。
-
Inngest 開発サーバーを別のターミナルで起動します:
bun inngest:dev
現在、以下のフィードプロバイダーがサポートされています:
- GitHub Trending: GitHub で人気のリポジトリを表示
- Zenn トレンド: Zenn で人気の技術記事を表示
新しいプロバイダーを追加するには、src/lib/server/providers
ディレクトリに新しいプロバイダークラスを作成し、all.ts
ファイルに追加します。
Kawara は Google の Gemini AI を使用して、記事の内容を日本語で要約します。この機能を使用するには、.env
ファイルに有効な GOOGLE_GENAI_API_KEY
を設定する必要があります。
要約のプロンプトは src/prompts/summerize.txt
で設定できます。
本番環境へのデプロイについては、TanStack Start のホスティングドキュメントを参照してください。