打卡系統 - Tamashii clockin 的故事

最近聽到許多公司都在討論關於勞基法的出勤紀錄,身為公司行號的我們也覺得很無奈,但是上有政策,下就要有對策,雖然剛開始多少會 complain,但抱怨之餘我們也可以試試看怎麼做一點有建設性的東西。

在因應這個政策的狀況下,我們開發出了打卡系統 – Tamashii clockin !

tamashii-clockin 源自於 tamashii-checkin(活動報到管理系統),工程師們在兩個禮拜內開發出了這套土炮打卡系統,來配合台北市政府的政令。目前也已經順利上線成為公司的打卡系統!

tamashii-clockin 系統包含
(1)** 一台小小的機器(上下班嗶卡用)
(2) **系統後端管理網頁(登錄 / 綁定卡片 / 查看打卡記錄等)





硬體上我們利用 Raspberry Pi 和 RFID 晶片組成的,是 Ruby 在 IoT 領域的應用。在管理系統上,則是利用 ActionCable 搭配 ReactJS 即時顯示員工上下班打卡狀況,同時也可以利用 Tamashii 將打卡結果回傳到讀卡機上的 LCD 顯示螢幕。

透過五倍紅寶石的 Tamashii 系列套件,我們很輕鬆的將裝置連上網路,並且可以利用 WebSocket 將讀卡機讀取到的訊息傳送到我們利用 Rails 開發的管理系統上。

tamashii page

為了避免資訊衝突事件的發生,我們利用在 Rails 5 中的功能 Action Cable 來連結前端和後端,實現 WebSocket 通訊協定的功能,希望讓瀏覽器和伺服器進行持續性的雙向連線溝通。

雖然政策無奈之下因而產出了 Tamashii clockin,但路不轉人轉,我們也因此完成了這台打卡機,比起傳統的打卡鐘,只要綁定悠遊卡號,上下班只要利用悠遊卡「嗶」一下,就可以順利地記住上下班的時間囉。

另外,Tamashii 系統的工程師 – Henry ,9/20 即將到 RubyKaigi 上詳細分享關於 Tamashii 系統的開發細節與經過。有興趣的朋友們,歡迎持續追蹤相關訊息,或直接去現場跟 Henry 聊聊喔!

參考資料: Tamashii 官網RubyKaigi Tamashii 議程