イベント参加者アプリ
シーケンス図(共通)
func: 画像取得処理
運営用 Web コンソールのシーケンス図を参照
イベント参加者のシーケンス
sequenceDiagram
participant app as 参加者アプリ
participant back as バックエンドAPI
app ->> app: イベント参加用QRコードスキャン
app ->>+ back: イベント参加(イベントQRのデータ,通知用ID)
back ->> back: 参加者データ,UUID生成
back ->> back: 参加者識別QRコード事前作成
back -->>- app: (イベントデータ,参加者データ)
sequenceDiagram
participant app as 参加者アプリ
participant back as バックエンドAPI
app ->> back: (参加者識別データ,通知用ID)
back -->> app: (イベントデータ,参加者データ,ビーコンデータ)
sequenceDiagram
participant app as 参加者アプリ
participant back as バックエンドAPI
app ->> app: ビーコン検知
app ->> back: (ビーコンデータ)
back ->> back: 色々な処理
alt ピック可能なスポットなら
app ->> app: 通知
end
sequenceDiagram
participant app as 参加者アプリ
participant back as バックエンドAPI
app ->> app: QRコードスキャン
app ->>+ back: (ピック用QRコードデータ)
alt QRコードと現在参加者がいるスポットが対応しているなら
back ->> back: ピック処理
back ->>- back: あらかじめ参加者のパレット状況に応じて画像合成
end
画像選択
sequenceDiagram
participant app as 参加者アプリ
participant back as バックエンドAPI
participant storage as 画像ストレージ
app ->> back: 画像一覧リクエスト
back ->> storage: トークン生成リクエスト
storage -->> back: (トークン)
back -->> app: 画像(url)の一覧返却
loop 全ての画像に対して
app ->> storage: func: 画像取得処理
storage ->> storage: 認証
storage -->> app: 画像返却(raw)
end
app ->> app: 画像一覧表示
app ->> back: (選択した画像のpublic ID)
back -->> app: (status)
back ->> back: パレットに従ってあらかじめ画像合成を開始
sequenceDiagram
participant app as 参加者アプリ
participant back as バックエンドAPI
participant img as 画像管理サーバー
participant storage as 画像ストレージ
app ->>+ back: 選択中の画像リクエスト
alt 画像が存在していないなら
back ->> back: 画像を生成
back ->> storage: 生成した画像を保存
end
back ->> img: one time urlリクエスト(image_id)
img -->> back: (one time url)
back -->>- app: パレットに応じて色付けた画像のurl(url)
app ->> img: func: 画像取得処理
img -->> app: 色付けされた画像を返す(png)
alt 画像DL
app ->> app: 画像を保存
end
画像一覧取得
sequenceDiagram
participant app as 参加者アプリ
participant back as バックエンドAPI
participant img as 画像管理サーバー
app ->>+ back: 画像一覧リクエスト
loop 画像
back ->> back: 画像を生成
end
back -->>- app: 画像一覧返却(ids)
app ->> img: func: 画像取得処理
img -->> app: 色付けされた画像を返す(png)
sequenceDiagram
participant app as 参加者アプリ
app ->> app: 参加者用QRコード生成
sequenceDiagram
participant app as 参加者アプリ
participant back as バックエンドAPI
participant fcm as FCM
back ->> fcm: 通知送信(通知用ID,通知内容)
fcm -->> app: 通知
sequenceDiagram
participant app as 参加者アプリ
participant back as バックエンドAPI
app ->> back: 参加者データ削除リクエスト
back ->> back: 参加者データ削除
イベント運営のシーケンス
モバイル・コンソール共通の運営シーケンス
sequenceDiagram
participant beacon as ビーコン
participant app as 参加者アプリ
participant back as バックエンドAPI
app ->> app: スポット登録処理開始
beacon ->> app: (ビーコンデータ)
app ->> app: スポット名の入力
app ->> back: (スポット名,ビーコンデータ)
sequenceDiagram
participant beacon as ビーコン
participant app as 参加者アプリ
participant back as バックエンドAPI
opt ビーコン
app ->> app: スキャン開始
beacon ->> app: (ビーコンデータ)
app ->> back: (ビーコンデータ)
back ->> app: (スポットデータ)
app ->> app: 表示
end
opt QRコード
app ->> beacon: QRスキャン
beacon -->> app: (ピック用QRコードデータ)
app ->> back: (スポットデータ)
back -->> app: スポットデータ
end