まずはざっくりと外部仕様を決める
- 誰でも新たな日程調整が始められる
- 他人の日程調整は簡単に覗けないようにする
- パスワード認証はないほうがいい
- 性善説に則る(他人の入力は変更できる)か?
- 性悪説に則る(自分の入力のみ変更できる)か?
- 日程の候補は、日付のみと、日付+時間と、それ以外(自由)
- 日付は、カレンダーから選択したい
- 参加者の重み付けができる(偉い人の日程を優先とか)といい
- 参加者は追加できる
- 入力候補は◎○△×から選ぶ
- 未入力者に催促できる
- 集計結果は一覧できる(主催者用はランキングも表示できたらいい)
- 最終結果をアナウンスできる
- 主催者はイベントの概要を入力する
- アプリは主催者にメールで主催者用URLを通知する
- 主催者は参加者のメアドを登録する
- 主催者は日程の候補を入力する
- アプリは参加者にメールで参加者用URLを通知する
- 参加者は出欠を入力する
- 主催者は集計結果を見る
- 主催者は未入力者に催促メールを送る
- 主催者は最終結果をメールで送る
これらの仕様から、まずデータベースを考えてみると、以下の4つのテーブルが必要そうだ
- イベント(event)
- イベント名(name)
- イベント詳細(desc)
- 固有ID(event_uuid)
- 主催者名(owner_name)
- 主催者メアド(owner_email)
- 日程候補(option)
- イベントID(event_id)
- 日程内容(desc)
- 参加者(member)
- 参加者名(name)
- 参加者メアド(email)
- イベントID(event_id)
- 入力結果(attendance)
- 参加者ID(member_id)
- 日程候補ID(option_id)
- 出欠(attend)
次回はイベント入力画面を作成してみたい
0 件のコメント:
コメントを投稿