Next.js 14 (App Router) + Supabase を使った、市区町村別の家賃ヒートマップ/掲示板アプリの実装土台です。
npm install
npm run dev.env.example を .env.local にコピーして環境変数を設定してください。
- Supabase で新規プロジェクト作成
supabase/schema.sqlを SQL Editor で実行- Authentication で Email/Password を有効化
- Vercel 側に以下の環境変数を登録
NEXT_PUBLIC_SUPABASE_URLNEXT_PUBLIC_SUPABASE_ANON_KEYSUPABASE_SERVICE_ROLE_KEYESTAT_API_KEY
- 市区町村 GeoJSON 取得:
python3 scripts/fetch_geojson.py - e-Stat 家賃データ取得:
python3 scripts/fetch_rent_data.py --api-key <ESTAT_API_KEY> - Supabase 取り込み:
python3 scripts/import_to_supabase.py
/全国地図 + サイドバー + 検索/[city_code]市区町村詳細/board/[city_code]ログイン必須掲示板(Realtime 更新)/authログイン / 登録 codex/create-implementation-plan-for-next.js-project
index.html は AUGUSU LAB ポータルとして残し、新しい Next.js アプリへの導線を追加しています。
vercel.json では @secret_name 形式の参照を使っていません。
Vercel Dashboard の Project Settings → Environment Variables に、次のキーを直接登録してください。
NEXT_PUBLIC_SUPABASE_URLNEXT_PUBLIC_SUPABASE_ANON_KEYSUPABASE_SERVICE_ROLE_KEYESTAT_API_KEY
もし
Environment Variable "NEXT_PUBLIC_SUPABASE_URL" references Secret "next_public_supabase_url" ...のエラーが出る場合は、 以前のvercel.json/ ダッシュボード設定で@next_public_supabase_url参照が残っている可能性があります。 参照を削除して、値を直接設定し直してください。
index.html は AUGUSU LAB ポータルとして残し、新しい Next.js アプリへの導線を追加しています。
claude/tokyo-tintai-map