凡例:
graph LR
%% ノードの定義
Start((開始))
%% Sync Points (マイルストーン)
Sync1{<b>Sync 1</b><br>BLE疎通}
Sync2{<b>Sync 2</b><br>DB表示}
Sync3{<b>Sync 3</b><br>チャット}
Goal((<b>完成</b><br>提出))
%% 久米のタスクフロー
Start --> K1[環境構築 &<br>Git初期化] -- 1h --> K2[BLE権限 &<br>Manager実装]
K2 -- 3h --> K3[BLE送受信<br>ロジック]
K3 --> Sync1
Sync1 --> K4[Firebase設定 &<br>Auth匿名認証] -- 2h --> K5[DB検索 &<br>Repository実装]
K5 -- 3h --> Sync2
Sync2 --> K6[チャット送信<br>関数実装] -- 3h --> K7[リアルタイム<br>受信リスナー]
K7 -- 2h --> Sync3
Sync3 --> K8[デモ用<br>隠し機能実装] -- 2h --> Goal
%% 昆野のタスクフロー
Start --> C1[デザインガイド &<br>素材作成] -- 2h --> C2[レーダー画面<br>UI実装]
C2 -- 3h --> Sync1
Sync1 --> C3[プロフィール<br>入力UI] -- 3h --> C4[リスト表示<br>UI接続]
C4 -- 2h --> Sync2
Sync2 --> C5[チャット画面<br>レイアウト] -- 3h --> C6[吹き出しUI &<br>スクロール]
C6 -- 2h --> Sync3
Sync3 --> C7[ヘルプ画面 &<br>全体調整] -- 2h --> Goal
%% スタイル定義
classDef kume fill:#e1f5fe,stroke:#01579b,stroke-width:2px;
classDef konno fill:#fce4ec,stroke:#880e4f,stroke-width:2px;
classDef sync fill:#fff9c4,stroke:#fbc02d,stroke-width:4px,shape:diamond;
class K1,K2,K3,K4,K5,K6,K7,K8 kume;
class C1,C2,C3,C4,C5,C6,C7 konno;
class Sync1,Sync2,Sync3 sync;
各Syncポイントで「何が完了していれば成功か」の定義です。これを目指して各自作業を進めます。
ここでのゴール: サーバー無しで、スマホ同士が互いを認識できる。
| 担当 | 持ち寄る成果物 (Output) |
|---|---|
| 久米 | BleManager クラス |
| ・権限許可ダイアログが出る。 | |
・Logcat に周囲のUUIDが表示される。 |
|
・受信したUUIDリストを StateFlow で流している。 |
|
| 昆野 | RadarScreen (UI) |
| ・アニメーションするレーダー画面。 | |
| ・ViewModelからダミーのリストを受け取って表示できる状態。 | |
| 統合後 | 「実機2台を近づけると、UI上のカウントが増える(またはログが出る)」状態。 |
ここでのゴール: 誰とすれ違ったか、名前とタグが見える。
| 担当 | 持ち寄る成果物 (Output) |
|---|---|
| 久米 | UserRepository クラス |
| ・Firebaseに匿名ログイン済み。 | |
| ・BLEで検知したUUIDを使って、Firestoreからデータを引ける。 | |
・引いたデータを List<User> に変換して流している。 |
|
| 昆野 | MatchListScreen (UI) |
| ・プロフィール入力画面ができている。 | |
| ・すれちがいリストのカードUIができている。 | |
・ViewModelのデータを LazyColumn で表示できる。 |
|
| 統合後 | 「すれ違うと、相手の名前とアイコンがリストに自動で追加される」状態。 |
ここでのゴール: 会話が成立する。
| 担当 | 持ち寄る成果物 (Output) |
|---|---|
| 久米 | ChatRepository クラス |
・sendMessage() でFirestoreに書き込める。 |
|
・SnapshotListener で相手の書き込みを即座に検知できる。 |
|
| 昆野 | ChatScreen (UI) |
| ・自分(右)と相手(左)の吹き出しが出る。 | |
| ・送信ボタンを押すと入力欄が消える。 | |
| ・リストからタップしてチャット画面に遷移できる。 | |
| 統合後 | 「Aさんが送信すると、Bさんの画面に即座に吹き出しが出る」状態。 |