- Meta Boatrace のソーシャル機能を提供するWebアプリケーション
- ボートレースのレースデータに対するコメント・感想の投稿、ユーザー間のフォロー・いいね等のリアクション機能
- UGC(ユーザー生成コンテンツ)によるサービスのスケールを目指す
[ユーザー / 検索エンジン]
|
v
[Next.js (Vercel)] --- SSR/SSG (App Router)
| |
v v
[Supabase] [Hasura GraphQL (AWS ECS)]
- Auth |
- PostgreSQL v
(UGCデータ) [RDS PostgreSQL]
(OriginData)
- SEO重視のため SSR/SSG を活用(Next.js App Router)
- 詳細は docs/architecture.md を参照
| カテゴリ | 技術 | 選定理由 |
|---|---|---|
| フレームワーク | Next.js (App Router) | SSR/SSG によるSEO対策 |
| 認証 | Supabase Auth | IDaaS、無料枠あり、Auth0より低コスト |
| UGCデータベース | Supabase PostgreSQL | 認証と同一プラットフォームで管理コスト低減 |
| OriginData API | Hasura GraphQL (AWS) | crawlersが収集したボートレースデータへのGraphQLアクセス |
| ORM | Drizzle | Vercelサーバーレス環境でのコールドスタート性能 |
| UI | Tailwind CSS + shadcn/ui | ユーティリティファーストCSS + コピーペースト型コンポーネント |
| パッケージマネージャー | pnpm | 高速なインストール |
# Node.js 24 (Volta で管理: https://volta.sh/)
pnpm install
pnpm devhttp://localhost:3000 で開発サーバーが起動する。
認証(Supabase Auth + Google OAuth)の設定手順は docs/authentication-setup.md を参照。
| リポジトリ | 概要 |
|---|---|
| metaboatrace/crawlers | データ収集(スクレイピング)+ Hasura GraphQL。OriginData の提供元 |