運用・デプロイ

仕様サマリー(1枚・社内配布)

v0.1 系の要約。PDF 印刷向け。

Swipe LP 仕様サマリー(社内配布・1枚)

: v0.1 系仕様の要約   日付: 2026-04-16   正本: リポジトリ docs/spec/*.md(条文・数値は必ず各ファイルを参照)


プロダクト

スマホ向けスワイプ型LPを管理画面で作成し、埋め込みJSまたはZIP(相対パス完結)で配信。単一のLP定義JSONをプレビュー・埋め込み・ZIPが共有。計測はステップ単位・匿名 sessionId。Workspace 配下に LP・資産・計測キーを紐づけ。課金フローはMVPでは未実装(フィールドのみ)。AIは方針のみ(ai-features.md)。


技術スタック(要点)

領域内容
構成npm workspaces:apps/web(Next 14)· apps/api(FastAPI)· packages/viewer
データPostgreSQL 16 · S3互換(開発 MinIO)
通信ブラウザ→Next 同一オリジン、/api/* は rewrite で API。公開 /v1/public/* は FastAPI

LP定義 JSON(v0.1)

ルート: schemaVersion · id(公開LP ID)· revision · metatitle 必須)· swipedirection vertical/horizontal · viewport default/fullscreen)· steps[](1件以上)
ステップ: id公開後も不変)· type image/video · mediasrc 相対)· cta(ステップごと)· hotspots[](正規化矩形 0–1)
詳細: lp-definition-v0.1.md


配信

方式要点
埋め込みruntime.js · コンテナに data-swipe-lp-id · data-swipe-lp-api-base · 計測時 data-swipe-lp-public-key · GET {apiBase}/v1/public/lp/{lpId}
ホスト型公開URL当サーバが直接返す閲覧専用ページ。https://{site-origin}/p/{publicId} · 200/404/410 · SSR で OG/Twitter メタ生成 · live 計測キーがあれば計測可
ZIPルートに index.html · lp.json · swipe-lp.runtime.v0.js · assets/ · 任意 swipe-lp.config.jsonsurface: zipapiBase・キー)
プレビューsurface: preview(管理画面。詳細は embed 仕様)

PC 表示の既定: LP 定義 swipe.desktopFrame の既定は letterbox(中央寄せ+左右帯、コンテンツ最大幅 desktopMaxWidth 既定 420px)。広い画面でも縦長 LP のレイアウト崩れを防ぐ。none を指定すると全幅。

詳細: embed-and-zip-v0.1.md


公開 HTTP API(閲覧者・ランタイム)

メソッドパス備考
GET/v1/public/lp/{lpId}公開定義。404/410 等。認証不要
GET/v1/public/lp-preview/{token}仮公開(preview-share で発行したトークン)
POST/v1/analytics/eventsバッチ計測。X-SwipeLP-Key 必須events 1〜100件

計測キー: pk_live_* / pk_test_* 形式(opaque)· クライアント平文 · サーバはハッシュ保存 · LPと events[].lpId 一致検証
詳細: api-v0.1.md


分析イベント(抜粋・v0.1)

lp_view · step_view(表示率≥0.5 が 連続100ms 等)· step_dwell · cta_click · hotspot_click · swipe_next / swipe_prev · 動画 video_*
MVP指標(例): LP別ユニーク sessionIdlp_view)· ステップ別 step_view / step_dwell · cta_click+hotspot_click
詳細: analytics-events-v0.1.md


管理 API(/v1/manage/*

認証: X-Admin-Token または Authorization: BearerADMIN_TOKEN / Compose SWIPE_LP_ADMIN_TOKEN

メソッドパス(抜粋)
POST/GET/v1/manage/workspaces
POST/GET/v1/manage/workspaces/{ws}/landing-pages
POST.../landing-pages/{lp}/assets(メディア multipart file
PATCH.../landing-pages/{lp}definition · definition.id 変更不可
POST.../preview-share(仮公開トークン) · .../publish · .../keys
GET.../landing-pages/{lp}/analytics/summary

詳細: manage-api-v0.1.md


仕様書インデックス(正本パス)

ファイル内容
spec/mvp.mdMVP範囲・目的
spec/lp-definition-v0.1.mdLP JSON 確定
spec/embed-and-zip-v0.1.md埋め込み・ZIP 確定
spec/api-v0.1.md公開API・キー 確定
spec/analytics-events-v0.1.mdイベント 確定
spec/manage-api-v0.1.md管理API 確定
spec/stack.mdスタック・デプロイ前提
spec/product-ui-parity.md競合型UI対応・バックログ
spec/creative-sp-pipeline-v0.mdSP・クリエイティブギャップ
spec/ai-features.mdAI方針
decisions/log.md意思決定ログ

PDF化の目安: 本ファイルを Markdown ビューアまたは HTML 変換後、印刷 → 1ページに収まるようスケール調整(例: 90–95%)· 余白ナシ/A4 縦。長文化した場合は spec/README.md を併用。

ソース: docs/distribution/internal-spec-onepage.md