バックエンド

勤怠管理システムの作り方を考えて設計してみる

ありがたい事に、前職の同僚からのツテで、案件の相談がありました。

とある病院の勤怠管理システムがどうにも使いづらく、改良ができないかという内容で。

スケジュールを調整しいざ現場に向かい、いろいろとヒアリングをさせていただいたので、

こちらにも特定されない範囲で備忘録がてら書き残しておくことにします。

アオキ
現場の問題をプログラミングで解決する・・まさにもんプロですな・・!

勤怠管理システムの現状の問題点

すでにとある勤怠管理システムを使っているけれど、

病院の各部門からはエクセルでシフトが届き、

そのフォーマットがバラバラなので、

一つ一つファイルを開き、内容をコピーして勤怠管理システムに貼り付ける必要があると。

さらにはシフトの変更などがあると全て紙ベースでやりとりしているため、

労務の方が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』で初めから備えている機能、
追加すればできるようになる機能
などを予め事前に知っておく必要があり、
これまた場数というか、取り組んだ経験、ググった回数などが影響してくるだろうと考えます。

アオキ
以前にExcelやCSVをリサーチしていた事がきいてきました。

関連記事


勤怠管理システムをLaravelを作ったとして

これから内容を精査し、見積もりを出し、
通れば正式に制作となるので、
もし通れば1、2ヶ月は『Udemy』講座の制作はストップになるかなと思います。

追々、
今回の『勤怠管理システム』で求められた内容などを含めつつ、
『講座化』もできると思うので、

楽しんで取り組んでいきたいなと思っております。

アオキ
直近の現場の問題を解決しつつ、将来のどこかのシステムにも多少なり影響を与えられたらなお良し、ですな・・!

関連記事一覧 (一部広告あり)

コメント

    • ks
    • 2022年 3月 07日
      Warning: Trying to access array offset on value of type bool in /home/mochaccino8/coinbaby8.com/public_html/wp-content/themes/mag_tcd036/functions.php on line 585

    Udemyでいつも講座受講してお世話になっております。現在、Laravel講座第2弾を受講しています。実践を交えた内容でとても勉強になっています。勤怠管理システムの講座があれば是非受講したいです。

      • aoki_monpro
      • 2022年 3月 08日
        Warning: Trying to access array offset on value of type bool in /home/mochaccino8/coinbaby8.com/public_html/wp-content/themes/mag_tcd036/functions.php on line 585

      受講ありがとうございます。勤怠管理システムも需要ありますよね。今年中には作って見たいと思います。

  1. この記事へのトラックバックはありません。

CAPTCHA


最近の記事

アーカイブ

  1. バックエンド

    【Laravel第4弾】Vue.js3(CompositionAPI+Scrip…
  2. バックエンド

    【Laravel(PHP)】でできる事をわかりやすく(ざっくりと)まとめてみた【…
  3. 数学

    【三角関数】とは わかりやすくまとめてみた【動画あり】
  4. オンライン教材

    【Laravel(PHP)】初心者向け アプリのつくり方 をリリースしました【t…
  5. オンライン教材

    【Vue.js】初心者向け講座をリリースしました。【Udemy】
PAGE TOP