リポジトリ構成 Repository layout

Parky は単一リポジトリ(モノレポ)で管理されています。 プロダクト別のディレクトリに分かれ、それぞれが専用の GitHub Actions ワークフローで個別にデプロイされます。

Parky lives in a single monorepo. Each product sits in its own directory and has its own GitHub Actions workflow for deployment.

ディレクトリ構成Directory layout

parky/
├── web/
│   ├── home/               # 公開ポータル (Astro 5 + Islands) — @parky/home
│   │   └── src/pages/media/  # TOKYO CAR LIFE (Supabase articles 駆動)
│   ├── portal/
│   │   ├── admin/          # 管理者ポータル (React 19 + Vite)
│   │   └── owner/          # オーナー向けポータル (README のみ、未着手)
│   └── packages/           # 共有パッケージ
│       ├── api-client/     # Supabase API クライアントラッパー
│       ├── domain/         # ドメイン型・バリデータ
│       ├── seo/            # SEO ユーティリティ (schema / meta)
│       └── ui/             # 共有 React コンポーネント
│
├── mobileapp/
│   ├── prototype/
│   │   ├── flutter/        # Flutter プロトタイプ本体
│   │   └── web/            # Web 版モック (dev-app-mock.parky.co.jp)
│   └── api/                # モバイル専用 API スタブ (README のみ)
│
├── api/                    # Cloudflare Workers BFF(Hono + OpenAPI /v1/*)
│   ├── src/
│   │   ├── routes/         # /v1/* ルート実装(admin / public)
│   │   ├── queue/          # Queues consumer(store-sync / fcm-dispatch)
│   │   ├── lib/            # db / r2 / fcm / queue / store-sync クライアント
│   │   ├── cron/           # Cron Triggers ハンドラ(近傍通知)
│   │   └── middleware/     # auth / cache / rate-limit / error-handler
│   └── wrangler.toml       # binding 設定(R2 / Hyperdrive / KV / Queues / AI)
│
├── infra/
│   └── supabase/
│       ├── migrations/     # マイグレーション (000_init_schema + 001–031)
│       ├── seeds/          # シードデータ
│       ├── scripts/        # 運用スクリプト
│       └── config.toml
│
├── docs/                   # 本ドキュメントサイト (dev-docs.parky.co.jp)
│   ├── index.html          # 全体概要
│   ├── architecture.html
│   ├── data-model.html
│   ├── tech-stack.html
│   ├── conventions.html
│   ├── repository.html
│   ├── assets/             # 共通 CSS/JS
│   ├── portal-admin/       # 管理者ポータル仕様書
│   ├── mobile-app/         # モバイルアプリ仕様書
│   ├── web-app/            # Web版仕様書
│   └── ops/                # 運用手順メモ (markdown)
│
├── scripts/                # 汎用スクリプト (setup / clone 等)
├── .github/workflows/      # CI/CD
├── .memory/                # Claude 用プロジェクトメモリ
├── CLAUDE.md
└── README.md

デプロイパイプラインDeployment pipelines

対象Target Workflow トリガーTrigger 配置先Deploy to
管理者ポータル (dev)Admin portal (dev) deploy-admin.yml dev push on web/portal/admin/** dev-admin.parky.co.jp
管理者ポータル (prod)Admin portal (prod) deploy-admin-prod.yml main push / 手動実行 main push / manual admin.parky.co.jp
Web版 (dev)Public web app (dev) deploy-public-dev.yml dev push on web/home/**, web/media/**, web/packages/** dev.parky.co.jp
Web版 (prod)Public web app (prod) deploy-public-prod.yml main push / 手動実行 main push / manual parky.co.jp
ドキュメントDocs deploy-admin-docs.yml dev push on docs/** / mobileapp/prototype/web/** dev.parky.co.jp/docs/
App モックApp mockup deploy-app-mock.yml dev push on mobileapp/prototype/web/** dev.parky.co.jp/app-mock/
LPLP deploy-public-prod.yml main push on web/lp/users/** main push on web/lp/users/** parky.co.jp
メディア (ブログ)Media (blog) deploy-media.yml main push on web/media/blogsy-child/** media.parky.co.jp
補足: Note: dev 環境の Web アセットはすべて Cloudflare Pages に個別プロジェクトとして配置(dev / dev-admin / dev-docs / dev-app-mock / dev-portal-marketing)。Xserver 依存は解消済み(2026-04-19)。 All dev web assets live as individual Cloudflare Pages projects (dev / dev-admin / dev-docs / dev-app-mock / dev-portal-marketing). Xserver dependency was removed on 2026-04-19.

シークレット管理Secrets