基本仕様 概要
このセクションでは、Speakeasy プロジェクトの基本仕様を定義します。
システム概要
Section titled “システム概要”Speakeasy は、店舗と顧客をつなぐコミュニケーションプラットフォームです。小売・サービス業の店舗が顧客との関係を構築・維持するための統合コミュニケーション基盤を提供します。
ビジネスコンテキスト
Section titled “ビジネスコンテキスト”プロダクトコンセプト
Section titled “プロダクトコンセプト”| 項目 | 内容 |
|---|---|
| 対象業種 | 小売・サービス業(店舗運営事業者) |
| 主な利用者 | 店舗スタッフ、店舗管理者、システム管理者 |
| 提供価値 | 顧客との1対1コミュニケーション、セグメント配信、マルチチャネル通知 |
| 差別化要素 | リアルタイム性、purelovers 連携、ゼロレイテンシアーキテクチャ |
1. リアルタイムチャット
Section titled “1. リアルタイムチャット”店舗スタッフと顧客の 1対1 メッセージングを提供します。
- WebSocket によるリアルタイム配信(Durable Objects 管理)
- テキスト・画像・ファイルの送受信
- 既読管理
- オンライン状態表示
- チャットルーム単位の管理
詳細はチャット機能仕様を参照してください。
2. 一括配信
Section titled “2. 一括配信”条件に合致する顧客グループへの一斉メッセージ送信を提供します。
- グループ・ラベルベースのターゲティング
- 予約配信(スケジューリング)
- 5,000件バッチの大規模配信対応
- 配信ステータス管理(DRAFT → SCHEDULED → QUEUED → SENT)
詳細は一括配信機能仕様を参照してください。
3. 連絡先管理
Section titled “3. 連絡先管理”顧客情報の登録・分類・グルーピングを提供します。
- 連絡先の CRUD 操作
- グループ・ラベルによる分類
- チャット NG 管理(ブラックリスト)
- ドメインブラックリスト
- purelovers データ同期
詳細は連絡先管理機能仕様を参照してください。
4. マルチチャネル通知
Section titled “4. マルチチャネル通知”複数チャネルでの通知配信を提供します。
| チャネル | 技術 | 用途 |
|---|---|---|
| Web Push | VAPID | ブラウザプッシュ通知 |
| LINE | LINE Messaging API | LINE メッセージ |
| Resend | メール通知 | |
| BOX | アプリ内 | UserInbox 経由の通知 |
詳細は通知システム機能仕様を参照してください。
5. 外部連携
Section titled “5. 外部連携”purelovers ロイヤリティプラットフォームとの統合を提供します。
- 顧客データの双方向同期
- 店舗データの連携
- Webhook によるイベント受信
詳細は外部連携機能仕様を参照してください。
システム構成
Section titled “システム構成”アプリケーション
Section titled “アプリケーション”| アプリ | 役割 | URL |
|---|---|---|
| Counter | 店舗管理コックピット | counter.plfumg.com |
| Penthouse | 管理者コンソール | penthouse.plfumg.com |
| サービス | 役割 | 主要技術 |
|---|---|---|
| Proof | 認証・セッション管理 | better-auth + KV |
| Fizz | チャット・一括配信 | Durable Objects + Queues + R2 |
| Vintage | 連絡先・グループ管理 | KV + Analytics Engine |
| Bell | 通知配信 | Queues + web-push + LINE Bot SDK |
| Base | 組織・店舗基盤 | purelovers-client |
ゲートウェイ
Section titled “ゲートウェイ”| ゲートウェイ | 役割 | URL |
|---|---|---|
| Door | 認証ゲートウェイ | door.plfumg.com |
| Tap | 外部 API ゲートウェイ | tap.plfumg.com |
詳細はアーキテクチャ概要を参照してください。
パフォーマンス
Section titled “パフォーマンス”| 項目 | 目標 |
|---|---|
| メッセージ配信遅延 | < 100ms(同一データセンター内) |
| API レスポンスタイム | p95 < 500ms |
| WebSocket 接続維持 | 安定的な長期接続 |
| 一括配信スループット | 5,000件/バッチ × 100バッチ/キュー |
| 項目 | 目標 |
|---|---|
| システム稼働率 | Cloudflare Workers SLA に準拠 |
| データ耐久性 | PostgreSQL + Cloudflare ストレージの冗長性 |
| 障害回復 | Queue DLQ によるメッセージ保証 |
セキュリティ
Section titled “セキュリティ”| 項目 | 対策 |
|---|---|
| 認証 | better-auth(Passkey / OAuth / メールパスワード) |
| 認可 | RBAC(owner / admin / member / staff) |
| 通信 | 全通信 HTTPS / Native RPC(インフラ内完結) |
| データ保護 | 組織・店舗単位のデータ分離 |
スケーラビリティ
Section titled “スケーラビリティ”| 項目 | 対応 |
|---|---|
| コンピュート | Cloudflare Workers のオートスケーリング |
| DB 接続 | Hyperdrive 接続プーリング |
| WebSocket | Durable Objects による分散管理 |
| 非同期処理 | Queues による負荷分散 |
| 環境 | ドメイン | 用途 |
|---|---|---|
| 本番 | *.plfumg.com | プロダクション |
| 開発 | *.plfumg.net | ステージング・テスト |
| ローカル | localhost:* | ローカル開発 |
対応ブラウザ
Section titled “対応ブラウザ”| ブラウザ | バージョン |
|---|---|
| Chrome | 最新2バージョン |
| Safari | 最新2バージョン |
| Firefox | 最新2バージョン |
| Edge | 最新2バージョン |
注意: Web Push 通知は iOS Safari 16.4+ で対応。
セクション構成
Section titled “セクション構成”| ページ | 内容 |
|---|---|
| システム要件 | 詳細なシステム要件と制約 |
| 技術スタック | 全技術のバージョン付き一覧 |
| ドメインモデル | コアエンティティとビジネスルール |
| 用語集 | プロジェクト固有用語の定義 |