視障按摩小站排班管理
INTRODUCTION
視障朋友從事按摩以外的工作時,常常面臨多重挑戰,其中有視障所產生的就業困境;同時也會面對一般普遍的就業挑戰。在非營利組織 雙連視障關懷基金會,致力爭取視障朋友工作機會下,按摩小站設立於醫院,提供一個明亮開放的空間,在醫療院所明亮開放的環境下,願意嘗試視障按摩的朋友因此變多!視障朋友藉於按摩小站服務,走入社區,走入人群,讓更多人了解視障按摩、了解視障,進而創造對視障朋友更友善的社會環境。
PROBLEM
在非營利組織 雙連視障關懷基金會 積極爭取下,目前有10個按摩小站,大多駐點於醫療院所內,提供約100位按摩師穩定就業機會。然而累積了大量紙本的記錄工作表與非細節的電子式文檔,卻因為資料不夠完善,讓這些寶貴資料無處發揮。 另外,按摩小站的排班在管理是一大負擔,人工調動排班靠得是人腦記憶跟有限的資訊,此時就有可能造成師傅之間的誤會。所以如果在有大量可用的資料後,進而發掘資料價值,透過資料分析,產出信服人的資料視覺化呈現。
在有大量可用的資料後,進而發掘資料價值,透過資料分析,產出信服人的資料視覺化呈現。
(Image Credit: http://d4sg.org)
METHOD
根據上述所遇到的問題,我們分為兩個部份:
- 後台的資料庫管理要如何呈現?資料的欄位要有哪些?
- 前台要給使用者哪些比較的選擇?以及比較過後給予回饋的呈現?
[1] Azure架設資料庫建設前後端。後台使用 php將功能主要分為「增加工作記錄」與「管理按摩師傅與各小站」。原本 雙連視障關懷基金會 提供的電子檔資料只有儲存一個按摩師傅一天總共的薪水,與紙本上相比未將「指定節數」、「未指定節數」和「來客數」等詳細資料也作記錄。為了統一資料庫名稱,我們共同討論資料欄位名稱,這時我們就將前述也附加上去。
[2] 前台使用 JS 傳使用者選定資料跟後台要資料庫資料的時候,會依據後台接收到的字串,使用 python plotly 做資料視覺化呈現,再透過 api 方式傳回前端。
asg 指定節數, nasg 未指定節數, gn 來客數, m 按摩師傅, s 小站, h 管理員, p 一段時間
1. If p in TARGET can only COMPARE asg, nasg, gn, asg-nasg
2. If BY count that COMPARE becomes ignorable
3. If p in BETWEEN should provide form, step
COMPARE {asg, nasg, gn} (select 1 → ... )
OF TARGET = {m, h, s, p} (select 0 → ... but not all)
BETWEEN {m, h, s, p} - TARGET (select 1)
BY{count, sum, avg} (select 1)
Brainstorm for solution.
Image Credit: D4SG@NCCU
RESULT
在後台的部份,改善原本excel上資訊缺少的部份,每個小站每天師傅的工作記錄除了多筆新增外,還可以使用上傳excel(*.csv)的方式。另外針對按摩師傅與小站的管理也可做增修,方便管理。
Reality dashboard setting. (Illustration diagram)
Image Credit: D4SG@NCCU
前端的部份簡易的操作環境,資訊就可以更細膩化,依據不同選擇後統計,讓圖表有不同的linechart, barchart等表示方式,方便管理員有所依據排班。 舉例:
- 不同[ 小站 ]的[ 來客數 ]在[ 四月期間 ]的[ 平均 ]比較
- [ 四月期間 ]不同[ 按摩師傅 ][ 被指定節數 ]的比較
- 比較不同[ 師傅 ]的[ 指定節數 ]與[ 未指定節數 ]的[ 加總 ]
Front-end UI. (Illustration diagram)
Image Credit: D4SG@NCCU
For instance of data visualization by python. (Illustration diagram) [ 四月期間不同按摩師傅被指定節數的比較 ]
Image Credit: D4SG@NCCU
NEXT-STEP
歷經一個多月的計劃執行,中間歷經資料轉換新格式難產和工程組面臨期中考等外務,從無到有的系統架構建置完成度八成,再來要考慮的面向:
1. 登錄工作記錄表的人員是否接受從excel的輸入形式轉至在網頁上輸入
2. 資料儲存的問題,現行資料庫是架設在MS Azure上免費使用,但是當資料超過限定容量的額度前,要如何擴充資料庫外也可以平衡 雙連視障關懷基金會 的營運
上述的提到的疑慮雖然問題不大,但是都是不容忽視的問題。也是在完成系統建置後所要解決。
>> 原文取自:DSP github page