ありがたい事に、前職の同僚からのツテで、案件の相談がありました。
とある病院の勤怠管理システムがどうにも使いづらく、改良ができないかという内容で。
スケジュールを調整しいざ現場に向かい、いろいろとヒアリングをさせていただいたので、
こちらにも特定されない範囲で備忘録がてら書き残しておくことにします。
勤怠管理システムの現状の問題点
すでにとある勤怠管理システムを使っているけれど、
病院の各部門からはエクセルでシフトが届き、
そのフォーマットがバラバラなので、
一つ一つファイルを開き、内容をコピーして勤怠管理システムに貼り付ける必要があると。
さらにはシフトの変更などがあると全て紙ベースでやりとりしているため、
労務の方が1ヶ月つきっきりで対応が必要だということでした。
勤怠管理システム毎取り替えるのが理想的ではあるけれど、
今使っている勤怠管理システムはタイムカードのハードウェアとも連動していて、
そちらを交換するとなると何百万とかかるので、そちらは活かしたいということで。
勤怠管理システムで欲しい2つの機能
求められたのは2つの機能でした。
1つ目は、
フォーマットがバラバラなエクセルをなくし、
フォーマットを統一した『Webシステム』からのみシフト表を入力するようにして、
全員分を一括でCSVで出力できれば、
現状の勤怠管理システムへ、一回のペーストで済むのでかなり楽になると。
2つ目は、
シフトの変更『Web上で申請』とし、紙を廃止することで、
申請、承認、反映までを自動化し、一度のCSV出力、コピペで終わらせられるようになればなおいいと。
他にもいろいろあったのですが、追々のカスタマイズということで、まずはこの内容が実現できるかどうか考えてみることになりました。
勤怠管理システムをLaravelで作る場合 データベーステーブル
病院全体だと従業員が100人を越え、
部門が数十あり、
シフトのパターンも100種類近くあるそうで、
ヒアリングしながらデータベースのテーブル構成を考えていくことになりました。
『Laravel』に限らず、システムを作る上で一番肝になるのは『データベース』だと思っていて、
まずい構成にすると後々どんどん大変になってくるので、
できるだけ『正規化』をして、きれいな『リレーション』を作っていく必要があります。
ここは正直場数だろうと思うのですが、
1対多、多対多の構成方法、使い所、気をつけたほうがいいことなどを
予めどれだけ想定できるかが鍵だろうと思います。
まだまだ修行中ではありますが、
グーグルスプレッドシートにザーッと書いていって
この構成で問題ないかというのを2, 3日掛けてシミュレーションしていくことになります。
勤怠管理システムをLaravelで作る場合 画面構成
続いて、現在の勤怠管理システムが使いづらいと言われていたこともあり、
使いやすい画面レイアウト、構成、文言を考える必要があります。
こちらは紙でいくつか書いた後に、
『Figma』ないし『AdobeXD』などでラフを作っていくことになるかなと思います。
勤怠管理システムをLaravelで作る場合 機能面
シフト管理システムということと、エクセルやCSVでの出力が必要ということで、
- 時間の計算・・Carbonライブラリ
- Excel, CSVの出力・・Excelライブラリ
- 権限による表示非表示・・ロール(役割)など(Laravelの機能)
などを盛り込むことになりそうです。
この辺りは、
『Laravel』で初めから備えている機能、
追加すればできるようになる機能
などを予め事前に知っておく必要があり、
これまた場数というか、取り組んだ経験、ググった回数などが影響してくるだろうと考えます。
関連記事
勤怠管理システムをLaravelを作ったとして
これから内容を精査し、見積もりを出し、
通れば正式に制作となるので、
もし通れば1、2ヶ月は『Udemy』講座の制作はストップになるかなと思います。
追々、
今回の『勤怠管理システム』で求められた内容などを含めつつ、
『講座化』もできると思うので、
楽しんで取り組んでいきたいなと思っております。
Udemyでいつも講座受講してお世話になっております。現在、Laravel講座第2弾を受講しています。実践を交えた内容でとても勉強になっています。勤怠管理システムの講座があれば是非受講したいです。
受講ありがとうございます。勤怠管理システムも需要ありますよね。今年中には作って見たいと思います。