導入要件
システム概要・用語集
概要
CastMatrix は、男性向け風俗店の公式サイトと店舗運用管理を一体で提供するテンプレートです。
- 顧客向けサイト — Astro による静的生成(SSG)。モバイルファースト、高速表示。
- CastMatrixManager — React SPA。出勤マトリックス、キャスト・メディア管理、CMS。
- API — Cloudflare Workers 上の Hono。公開 API(読み取り専用)と管理 API(JWT)を分離。
- データ — Cloudflare D1(SQLite)、メディアは R2(+オプションで Images / Stream)。
すべて Cloudflare 上にホストする想定で、従来型の VPS は不要です。
パッケージ内容物
| パス | 説明 |
|---|---|
frontend/ |
Astro 顧客向けサイト |
admin/ |
React 管理 SPA(/cmm/*) |
api/ |
Hono Workers API |
migrations/ |
D1 SQL マイグレーション |
docs/ |
本マニュアル一式 |
LICENSE |
利用許諾 |
用語集
| 用語 | 説明 |
|---|---|
| CastMatrixManager | 管理画面の製品名。URL は /cmm/(/admin/ は使用しません) |
| Feature Toggle | ENABLE_CLOUDFLARE_IMAGES / ENABLE_CLOUDFLARE_STREAM による有料機能の ON/OFF |
| 退店 | キャストの論理削除。フロント非表示+メディア URL の非公開化(データは保持) |
| 物理削除 | ストレージからメディアを完全削除。管理画面からの明示操作のみ |
| Direct Upload | ブラウザから R2 / Images / Stream へ直接アップロード(Workers を経由しない) |
| 公開 API | GET /api/public/* — 認証不要 |
| 管理 API | /api/cmm/* — JWT 必須 |
ディレクトリ構成
/
├── frontend/ # Astro 顧客向けサイト
│ ├── src/middleware.ts # 年齢確認 Cookie チェック
│ ├── src/layouts/BaseLayout.astro
│ ├── src/components/ # CastCard, VideoPlayer, SiteHeader, SiteNav
│ ├── src/lib/site-nav.ts # 公開サイトメインナビ定義
│ ├── src/pages/ # index(年齢確認), home, casts/[id], favorites 等
│ └── public/_redirects # /cmm/* SPA ルーティング
├── admin/ # React SPA(/cmm/*)
│ └── src/pages/ # Dashboard, Cast, Schedule, Ranking, Contents, Settings
├── api/ # Hono on Cloudflare Workers
│ └── src/routes/cmm/ # auth, casts, schedules, rankings, content, settings, staffs
├── migrations/
│ └── 0001_initial_schema.sql # 全テーブル定義+初期シードデータ
├── docs/ # 本マニュアル
├── scripts/ # package.sh(配布 ZIP 生成)
└── package.json # モノレポスクリプト
Wrangler プロジェクト名(API): castmatrix-api
D1 データベース名: castmatrix-db
R2 バケット名: castmatrix-media