😀

オリプロ どんなアプリを作ろうか

2024/06/20に公開

こんにちは。こんばんは。

こちらの記事では、オリプロの設計を書いて行きます。

コア機能の説明

コア機能は、2週間で、ひとまず作り上げることを考えて、最小限で作ります。

以上

アプリの説明

注意事項

言葉では、案件や現場、と使い分けているが、アプリ内部、技術的には、全て、案件と統一しています。(これもめんどくさい、ややこしいので)

用途(言い換えると、目的。もっと言い換えると、何のために?、なぜ?の部分)

一言で言えば、

月末の交通費申請する時毎度明日の現場指示をいただいた時情報の管理を、徹底的に楽にしたい

解説すると、

交通費申請の時に、私の会社では、月毎に、どの案件に行ったのか、どの交通経路で行ったのか、交通費はいくらなのか、出勤した日分、全部規定の用紙に書かなくてはならないのです。

その時に、いちいち、Lineのトーク履歴をバーーーーっと、一件ずつ見返さなくてはならないのは、ちょっと....

私はめんどくさがりなので、

過去に、いつ、どの案件に行ったのか、その現場での注意事項は何だったのか、
自分で書いたメモを見返したり、LINEの勤務指示を見返したり、めんどくさい。
なので、このアプリを通じて、現場指示のやり取りを行い、アプリに案件情報を自動保存させて、交通費申請の時の無駄なあっち見たりこっち見たりを、無くす!!

また、案件によっては、管制から言われている注意事項や自分で覚えておきたいメモ書きもあるので、それも書けるようにしておく。

利用までの流れ

  1. 事前に、私が、警備員登録しておきます。
  2. 管制の、私が最も信頼している人を1人選び、その方に、アプリのURLを教える。
  3. そして、管制の人が、登録してくれます(多分)。

この3ステップで、利用が開始できます。

ここで重要なこと

  • 警備員ユーザー登録は、アカウント有効化を行います。(RailsTutorialに倣って)
  • また、管制のユーザーには、admin属性onを仕込みます!(RailsTutorialに倣って)

利用方法

  1. 管制アカウントから、案件を登録する(まだ登録してない案件の場合)
  2. 管制アカウントから、登録済み案件を一覧表示する
  3. 管制アカウントから、すでに登録している案件から、警備員に依頼を投げる

  1. 警備アカウントから、現場指示依頼を確認する
  2. 警備アカウントから、現場指示確定返信/現場指示拒否返答を送る
  3. 警備アカウントから、過去の案件出勤一覧を見れる

仕様

このアプリは、ユーザー2人(管制1人、警備員つまり僕1人)だけです。
なので、管制1人、警備1人しか、登録はできません。

1つのポイント

もし、すでに、明日の現場を依頼送信済みだったり、確定済みであった場合、
同じ手順、すなわち、(案件一覧画面→案件詳細画面から、依頼送信ボタン)の流れを実行することで、違う現場依頼を送れるように、なっている

技術仕様詳細

なので、リソース/モデルは、4つになる

  1. 登録案件リソース(管制が登録した、案件の一覧)
  2. 依頼案件リソース(未来の現場指示依頼の一覧)
  3. 出勤案件リソース(過去の現場指示依頼の一覧)
  4. ユーザーリソース(admin属性のon/offで、管制/警備を切り分ける)

コア機能:機能一覧

  • 管制アカウントから、案件を登録する
  • 管制アカウントから、登録済み案件を一覧表示する
  • 管制アカウントから、すでに登録している案件から、警備員に依頼を投げる
  • 警備アカウントから、現場指示依頼を確認する
  • 警備アカウントから、現場指示確定返信を送る
  • 警備アカウントから、現場指示拒否返答を送る
  • 警備アカウントから、過去の案件出勤一覧を見れる

このアプリの実質的なメリット

  1. 交通費申請に今まで、2時間かかっていたのが、おそらくの予想では、20分に短縮できる予想(なので、12ヶ月働いたら、24時間が、240分=2時間に短縮できる)
  2. 毎度、過去の現場指示と注意事項の伝達事項をあさり読むのが、面倒だし、手間と時間がかかるのが、個別ページに、全部まとまっている

アプリの画面の詳細

ここでは、アプリの画面を説明して行きます。

わかりやすいように(自分のために)、利用までの流れと利用方法の順序で、書いて行きます。

利用までの流れ

警備アカウント登録

  • 警備アカウント登録画面

管制アカウント登録

  • 管制アカウント登録画面
  • 管制アカウント有効化確認画面

利用方法(管制)

案件登録

  • 案件登録画面

案件確認(案件確認及び案件依頼)

  • 案件一覧画面
  • 案件詳細画面(ここに、送信ボタンがついてる)

案件指示確認

  • 案件指示一覧画面(ここで、相手が確定なのか拒否なのか、わかる)
  • 案件指示詳細画面(ここで、相手の返答がわかる。拒否の場合の返答内容が見れる)

利用方法(警備)

案件指示の確認

  • 将来の案件指示依頼一覧画面
  • 案件指示依頼個別画面

過去の出勤履歴の確認

  • 過去の案件出勤一覧画面
  • 出勤案件個別画面

扱うデータに関して、詳細

登録案件リソース

案件No 案件名 住所 集合場所 元請会社 集合時間 現場最寄駅 注意事項 メモ
Text Text Text Text Text Text Text Text Text
Text Text Text Text Text Text Text Text Text

依頼案件リソース

案件No 日付 送信時刻 スタッフid 状態 返答
Text Text Text Text Text Text
Text Text Text Text Text Text
  • 状態 = 返答待ち,拒否,確定
  • 返答 = 拒否の場合のみ、記載される(nil:OK,空白:NG)
  • 送信時刻 = その日付の送信時刻が最も後のものが、相手の画面に表示される(もし、3日分の案件を送った場合は、全件表示される)

出勤案件リソース

案件No
Text
Text

ユーザーリソース

スタッフid 氏名 email 電話番号 パスワードダイジェスト リメンバーダイジェスト admin アクティベーション アクティベーションダイジェスト アクティベーション日時
Text Text Text Text Text Text Text Text Text Text
Text Text Text Text Text Text Text Text Text Text

注意事項

案件依頼が確定している状態で、その案件の日付の日の0:00になった瞬間に、出勤案件リソースに、自動で、データ保存される

ルーティングに関して

  • このアプリケーションに、ノンリソース(静的ページ)は、存在しない
  • 登録案件リソースは、new,create,edit,destroy(フルセット)
  • 依頼案件リソースは、new,create
  • 出勤案件リソースは、createのみ(自動保存なので)
  • ユーザーリソースは、new,create

テストに関して

機能(コントローラ・アクションに関して)

このアプリの作成の流れ

  1. ユーザーリソースを作る
  2. 登録案件リソースを作る
  3. 依頼案件リソースを作る
  4. 出勤案件リソースを作る

このアプリの作成の進捗の記録

現在、

:まだ、何もできていない

Discussion