也來寫寫 kotlin * Spring Boot 的作業唄
因為參加了 Kotlin 的 Spring Boot 練功場,常常忘了記時要去聽分享,還好文森有放參考範本能觀摩。
文森在上一週的分享大部分的時間 (喔!就是我來不及參與的那一 Part) 在幫與會者複習概念與再加一點新的東西,特別是實務工作上超實用的 Spring Boot 測試實作方法。最後,他出了一個簡單的作業,就是用過去分享的內容,鼓勵大家開始實作點真的東西,例如:電商網站。耳背的偶,一直聽起便當網站。最後的課堂筆記,作業就成為寫一個訂便當的網站囉!
中間的開發歷程,就當作 TWJUG-LITE 陪你寫作業計劃的概念來實行,錄了一點的影片,集中在 YouTube 播放清單上
身為常忘了去上學的 U質 學生,當然也沒把作業放在心上。一直到週四的深夜猛然驚覺!蝦米,要寫作業啊!!!!
訂便當
提起訂便當這個活動,當然不能忘了全台最大的訂便當系統:Din.Ben.Don!
由於這是我初次使用訂便當系統,註冊了個新的群組,稍為玩了一下。做點簡單的分析。
當使用者進入了系統後,可以看到商家的選項,這些商家的資料是有人事先貢獻上去的,所以系統中規劃是「個人帳號」才能維運商家資料,這設計應該是期望個人能為了自己的聲譽保持好資料的品質。
作為「訂便當」的主要活動,要使用它的功能,就是點選「開始團購」:
每一次發起團購時,只必團購主的資料是必填的,還有一些停止條件的選項能使用:
開團後「進行中的訂單」會列出在使用者頁面,選點要參加的團就能開始訂購物品:
訂購頁設計很易用,只要按下加減的按鈕就可以增加數量:
回到管理頁,有很方便的各種統計方式:
欣賞完既有的系統後,我們要來規劃一下基本的使用者歷程 (User journey),便於實作測試。
角色:訂購活動的主要發起人
- 我是公司內負責訂便當的人
- 開啟系統能看到許多商家
- 選定一個商家後,按下「開始團購」來建立新的團購
角色:跟團成員
- 我是肚子餓了的同事
- 在開團的清單中,選定要參與的團後,點選「我也要訂」之後,系統列出可以訂購的品項
- 我能使用 + 與 - 按鈕增減數量
- 我的名字是必填的欄位
角色:訂購活動的協調整
- 我是一個團購活動的協調者,負責跟參與者收錢與聯絡商家完成實際的訂購活動。
- 期望系統能顯示各種的金額與數量統計
- 期望能追蹤出貨進度
作業要做些什麼呢?
針對「作業」的部分,我們並不需要實作出一個完整的系統,而是挑一些主要的使用情境,來滿足練習的目標:
- 用測試案例來描述情境
- 規劃 Domain Model 與提供提行為的 Service,還有實際負責資料保存的 Repository
- 規劃 Restful API (Controller 的實作)
上述這些,也就是影片清單中所記錄的內容。