CastMatrix

導入要件

システム概要・用語集

概要

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