はじめに
突然ですが、1週間でモバイルオーダーアプリを作ってみようと思います。
- 仕事ではないので、最低限のものができたら良しとします。人生は勉強や!
- 仕事ではないので、スケジュール管理も感覚で行っちゃいます(仕事だったらJIRAとかでしっかりタスクやプロジェクト管理しますよ!!!!!)
- 仕事じゃないので、変なところはこだわっちゃうかもしれません。仕事じゃないから!!!
開発のきっかけ
私、趣味でホームバーをやってるのですが、結構こだわってまして400種類ぐらいメニューがあります。
友達呼んでパーティーするのは良いのですが
- ユーザ側は種類を選ぶのが大変だし
- ホスト側はオーダー管理するのが大変だし
要はオーダーシステムが必要なんですよね。
ただ、お店ではないのでお金はあまりかけられないですし、ちょっと試しに自分で作ってみることにしました。
初期リリースまでの流れ
とりあえず理想のものができるまで待ってると時間がとてもかかるので、8割の法則で初期リリースします。初期リリースが完了したらどんどん改修していく予定。
流れは本当によくあるやつです。
初期リリース後のステップについて
- リリース後はユーザーのフィードバックを元に機能改善や追加開発を行います~
- 初期リリースで実装できなかった機能やUXの向上を検討し、継続的に改善する予定
- AIとの対話機能とか、生成AI系の機能を追加していきたいなぁ
- あと見た目にもこだわりたいよね
要件定義
ChatGPTと会話しながら少し考えてみました。
業務内容
商品が多いですがシンプルなバーです
- 商品提供
- ユーザが商品を選びます
- ユーザに商品を提供します
- 材料費をもらいます
- 管理業務
- 材料の在庫を管理します
- 材料の有無から商品の在庫を管理します
- 商品を開発して登録します
要望
- 簡単にメニュー更新できる
- メニューを頻繁に更新するのでそれが簡単にできると良い
- 在庫 / 材料管理できる
- 在庫によって作れるメニューが変わるので材料の在庫管理もしたい
- メニューが簡単に選択できる
- 400種類あると選ぶのが大変なので、UIUXでサポートしたい
- 様々なジャンルでメニューリストを表示できるようにしたい
- 低コスト
- 負担は少なく。特に費用コストと管理コストを下げたい
- トラフィック
- ユーザは知り合いのみ、かつとても限定された注文数なので負荷はあまり考えなくてよい
- ユーザ制限
- できればユーザ登録は管理者の承認制にしたい
最小限の機能(MVP: Minimum Viable Product)
【ログイン機能】
- ユーザー登録/ログイン
- ログインをしないとサービスが利用できない
- Google認証サービスを利用できると良い
- 今回は超限定的というユースケースから、管理者の個別承認制にしたい
- 管理者を個別に設定できる
【商品提供機能】
※承認ユーザーだけが利用できる
- メニュー表示
- 商品リストを表示して詳細を確認できる
- ジャンルやカテゴリごとにフィルタして表示ができる
- 注文
- 商品と数量を選択して注文できる
- 備考欄があり、記入可能
- 支払い
- PaypayのAPIを使えるとよい
- 数字の確認ができるだけでも良いかも
- 未払いの代金についてまとめて支払いできる
- 注文履歴表示
- ユーザーが自分の過去の注文を確認できる
【管理業務機能】
※管理者だけが利用できる
- 材料登録
- 簡単に登録更新作業ができる
- 数量などの在庫管理ができる
- 商品登録
- 簡単に登録更新作業ができる
- レシピや味の詳細、カテゴリなども登録できる
- 写真も登録できる
- 登録した材料を選択可能
- 在庫管理
- すべての材料が揃っている商品だけが販売可能
- 材料がなくなった場合は売切れとする
- 注文確認
- 既存の注文について、リストで確認できる
- 未提供の一覧など、状態ごとにフィルタして表示ができる
- ユーザごとに支払いの状況が確認できる
業務の流れ(ワークフロー)確認
業務内容や要望などをもとに、システムを考慮して改めて業務フローを定義すると下記の通り
(今回は全部1人で決めるのでさらっと流しちゃいますが、本当はクライアントと相談しながら決めるので図示したり、コンセンサス取ったりしながらやるので結構時間がかかったりします)
- 事前準備
- ユーザ登録
- 商品登録
- 材料と商品の在庫管理
- 注文
- 注文
- 注文の状況確認
- 支払い管理
- 代金の管理
- 決済
- 支払いの状況
徐々にシステムのイメージが固まってきたので、次は具体的にどうやって実装するか考えてみます。