この 6 ページだけ読めば、モバイルアプリの見積もりと実装に入れます。 Six pages. Enough to scope, estimate, and start implementing the mobile app.
このパックは、Parky モバイルアプリ(Flutter)の開発を受託する会社に向けて、 仕様・API・画面・非機能要件・ストア審査対応を 1 か所に凝縮した資料集です。 全体の仕様書は Mobile App セクション にありますが、 まずはこちらから読み進めてください。
This pack is curated for development partners taking on the Parky mobile app (Flutter). Spec, API, screens, NFR, and store submission — collected here so you can start quickly. The full specification lives in the Mobile App section, but this pack is the recommended entry point.
6 ページの読み順 The six pages — in reading order
上から順に読むことを推奨します。01 → 02 → 03 → 04 → 05 → 06 の流れで、 ビジネスコンテキスト → 画面設計 → 実装契約 → データ → 連携 → 非機能の順に読み進められます。
Read top to bottom. 01 → 02 → 03 → 04 → 05 → 06 moves from business context → screen design → implementation contract → data → integrations → NFR.
Parky とモバイルの役割Parky & the mobile role
事業概要・対象ユーザー・対象エリア・3 フェーズのユーザージャーニー。
The business, the target users, the launch area, and the three-phase user journey.
Figma と画面カタログFigma & screen catalog
Figma が一次情報源。全 32 画面(基本 25 + サブ 7)の一覧と、動きの確認モック。
Figma is the source of truth. All 32 screens (25 base + 7 sub) plus an interactive mockup.
API 契約と認証API contract & auth
モバイル専用 OpenAPI、Supabase Auth の認証完結フロー、強制アップデート契約、ページネーション規約。
Mobile-only OpenAPI, the full Supabase Auth flow, forced-update contract, and pagination conventions.
モバイルが触るデータモデルMobile-facing data model
全 93 テーブルのうち、モバイルが読み書きする 10 前後に絞った ER 図と列定義。
Of the 93 tables overall, we focus on the ~10 that mobile reads or writes — with ER diagram and column definitions.
FCM / R2 / Mapbox / ジオフェンスFCM / R2 / Mapbox / Geofence
通知・ファイルアップロード・地図・位置情報の 4 連携を、シーケンス図つきで。
The four integrations — notifications, uploads, maps, and location — each with a sequence diagram.
非機能要件とストア対応NFR and store submission
対応 OS・性能・セキュリティ・アクセシビリティ・App Store / Play Store の審査対応チェックリスト。
Supported OS, performance, security, accessibility, and App Store / Play Store submission checklists.
プロジェクトの一言まとめ Project in one paragraph
Parky は都市部の駐車場選択を支援する Flutter 製モバイルアプリです。 リリース時は東京 23 区を対象とし、検索 → 比較 → 選択 → 駐車 → 振り返り の一貫した体験を提供します。バックエンドは Supabase PostgreSQL + Cloudflare Workers BFF(
/v1/*)で、
モバイルからは BFF のみを叩きます(Supabase を直叩きしません)。
Parky is a Flutter mobile app that helps urban drivers choose parking. At launch it targets
Tokyo's 23 wards, offering a seamless flow of search → compare → choose → park → review.
The backend is Supabase PostgreSQL behind a Cloudflare Workers BFF (/v1/*), and the mobile app
talks only to the BFF (never to Supabase directly).
今わかっていること/これから決めること What's settled — and what's still open
| 項目Item | 状況Status | 参照先Where to look | ||
|---|---|---|---|---|
| Figma デザイン | Figma design | 確定 settled | 02. Figma と画面カタログ | |
| BFF API 契約(OpenAPI) | BFF API contract (OpenAPI) | 確定 settled | 03. API 契約と認証 | |
| 認証(Supabase Auth) | Auth (Supabase Auth) | 確定 settled | 03. API 契約と認証 | |
| 対応 OS / 端末 | Supported OS / devices | 確定 settled | 06. 非機能要件とストア対応 | |
| ストア審査対応 | Store submission | チェックリストあり checklist ready | 06. 非機能要件とストア対応 | |
| アクセシビリティ基準 | Accessibility baseline | WCAG 2.1 AA | 06. 非機能要件とストア対応 | |
| Live Activity / Widget | Live Activity / Widget | v1 スコープ外 out of v1 scope | v1 完了後に別途企画 | Planned after v1 |
用語の統一(このパック内) Vocabulary (used throughout this pack)
- Parky BFF = Cloudflare Workers 上で動く Hono 製の API サーバー。モバイルが唯一叩く API レイヤ(
/v1/*)。本パックでは一貫して「Parky BFF」と呼びます。 - Parky BFF = A Hono app running on Cloudflare Workers. The single API layer the mobile app talks to (
/v1/*). Referred to throughout as "Parky BFF". - Supabase = PostgreSQL + Auth + Realtime + Storage を提供する BaaS。モバイルは Supabase Auth の JWT 取得のみ直接利用し、DB 操作は BFF 経由で行います。
- Supabase = A BaaS offering PostgreSQL + Auth + Realtime + Storage. The mobile app uses Supabase Auth only to obtain JWTs; every DB operation goes through the BFF.
- R2 = Cloudflare のオブジェクトストレージ。駐車メモ写真・レビュー写真は R2 に保存されます。
- R2 = Cloudflare's object storage. Parking-memo photos and review photos live in R2.
- FCM = Firebase Cloud Messaging(v1 API)。プッシュ通知は BFF → FCM v1 の経路で配信します。
- FCM = Firebase Cloud Messaging (v1 API). Push delivery goes BFF → FCM v1.