Swift 程式設計 #5 訂飲料系統 使用SheetDB

程式目的

--

可多人訂飲料,資料放雲端,可新增查詢刪除訂單

程式要求

  • 使用SheetDB 雲端表單
  • 可新增查詢刪除訂單
  • 可記錄新增訂單時間
  • 可知道總共訂了幾杯

程式畫面

操作動畫

GitHub

程式說明

  • 先去SheetDB 網站申請帳號並綁定 Google 帳號
  • 拿到存取雲端sheet 的 ApiKey,如下第一個網址為雲端 sheet,第二個網址為程式內使用
  • 在雲端 sheet 裡先建好欄位名稱,注意不要有空格
  • 建立飲料資料 struct 並輸入資料
  • 由 Drink Table 傳點選的飲料到 Order Table
  • 建立訂單資料的 struct
  • 將填好的訂單 Encode成 JSON,設定 request
  • 使用 URLSession執行 request並讀回確認訂單是否上傳成功
  • 進入 Order List Table 時就讀取 SheetDB 上的訂單資訊,放進 orders 陣列
  • 填入每個 cell 要顯示的資訊
  • 左滑可刪除 SheetDB 資料,使用 orderName當索引鍵執行刪除

結語

  • sheetDB不能自動產生唯一值的 primary key ,刪除資料時若有相同的orderName將會一起刪除,目前想到的方法為記錄不重複的 id 在另一個 參數 sheet,並在訂單 sheet 中增加 id 欄位
  • 可以增加登入頁面,加上密碼避免誤刪他人訂單
  • 若 clone 本程式請使用自己申請的ApiKey,sheetDB 每月僅提供 500 次request,謝謝

2022/10/15 修改事項

  • 飲料店改成龜記
  • 新增 uuid 欄位,產生唯一值刪除時不會誤刪
  • 以 section 增加飲料 group,用顏色區分
  • 新增 GitHub branches Guiji

--

--