シフト自動生成アプリ 各人のシフト制約を入力としてシフト一覧を生成することができます。
git clone https://github.com/ratovia/tech_visual.git
bundle install
rake db:create
rake db:migrate
and
rails s
複数のworkroleがある時、シフトインはどこか一つのworkroleしかできないようにする
When multiple workrole has exists, Shift-in where one workrole only unavailable
合計リソースと必要リソースをViewに表示することで、
視覚的にわかりやすく、リソース充足を確認することができます。
リソース充足していないところは、カラーを変えて分かりやすくしたいです。
シフト生成ボタン押下後の画面がApi::ShiftController#create(post)となっており、
リロードすると、getで飛ぶため、エラーが発生する。
リロードしてもエラーが出ないようにUXを変えたい。
以下初回MTGの議事録から、実装するものをissue化する
現状の課題
手打ち作業が多すぎる
少しでも変更が発生すると1から見直す必要がある
必要機能
担当 @KazYam1001
各所で使用しているthis_dayはDateTimeクラスの日付、
ShiftクラスやAttendanceクラスの日付はTimeWithZoneクラスになっている。
単純比較できなかったり、変換が煩雑なので、統一したい。
tech_visual/app/models/shift_generator.rb
Line 71 in 528af97
seedの必要リソース数が多いため、seedのユーザ数3では足りず、シフト成功まではたどり着けない。
例えば、
必要リソース[0,0,0,0,0,0,0,0,0,4,4,6,6,11,11,11,11,11,9,9,9,0,0]
とかあるため、
現在のseedユーザ3人だけではシフト失敗しかないし、他workroleでのアサイン確認ができなくなる。
@ratovia さん
工数 1日くらい
workroleモデルに優先度情報がないので、
期待する順番の割り当てができない。
workroleの項目ごとに色分けなどをしてわかりやすく表示する
判例も表示する
例)
テストくん | 白 | 白 | 白 | 白 | 緑 | 緑 | 緑 | 緑 | 青 | 青 | 青 | 赤 | 白 | 白 | 白 | 白 | 白 | 白
判例)
白・・・シフトなし
緑・・・事務作業
青・・・電話対応
赤・・・お客様対応
担当 @ratovia
workroleを3つに増やす
1人目 10時 ~ 20時
2人目 12時 ~ 22時
3人目 18時 ~ 22時
[0 , 0 , 0 , 1 , 1 , 2 , 2 , 2 , 2 , 2 , 2 , 3 , 2 , 2 , 1] #8時〜22時
最低限シフトを組む
必要リソース == 最低限シフトになっているかテストコードでチェックする。
assignable_role(アサイン可能役割)
どのユーザがどのworkroleにアサイン可能なのか管理できるモデルが欲しい
どのユーザがどのworkroleにアサイン可能か管理したいが
checkbox(制約)テーブルであると、workrole_idを持っていない上、名前が適切ではない
カラム名 | 型 |
---|---|
user_id | integer |
workrole_id | integer |
flag | boolean |
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.