今天是我們團體專題的第二次 meeting,再下一次就要正式評分啦!終於能把整個流程跑一次給老師看,確認還有沒有需要調整的地方。
這幾天真的是「日夜修 code 改 code」模式,深度跟 Codex GPT 各司其職。結果還意外踩到一個小坑:用 VSCode 綁定 Codex 竟然會有用量限制,要等一段時間才能 reset;但如果走 GitHub 網頁串接,對 GPT Plus 用戶就完全沒有限制,算是小驚喜發現~
最開心的是,我們團隊分工超明確!PM 們專心處理商用性和架構分析,我跟想當工程師的同學就全力衝產品開發。能遇到這麼有共同目標的團隊,真的覺得超幸福,也希望未來還有機會跟這樣的夥伴合作。
今天還特地去大賣場拍 Demo 影片,求真實到一個極致!過程中笑料滿滿,拿著購物籃跑流程,發現少錄了一段又默默回頭重拍,整個就是學生時代限定的有趣體驗。真的好久沒有這麼開心過了,很感謝這一路上的遇見與過程
專案/主題 | 問題背景 | 遇到的難點 | 解決方式/關鍵步驟 | 驗證/後續建議 |
---|---|---|---|---|
Flask 重置 Amazon Rekognition 設定紀錄 | 專案啟動 Flask 時會呼叫 _maybe_prepare_rekognition() 。預設只會確保 collection 存在,不會重建。目標是希望在 VM 上啟動 Flask 時,能夠直接 reset collection。這需要設定環境變數 REKOG_RESET=1/true/yes 。 |
環境變數拼錯:誤植為 EKOG_RESET=1 ,導致 log 顯示 Amazon Rekognition collection ensured (no reset) 。nohup 執行變數遺失:用 nohup 啟動時,環境變數沒有正確傳入 Flask 進程。 |
正確設定變數:確保變數名稱為 REKOG_RESET=1 。單次執行:使用 REKOG_RESET=1 flask ... 。nohup 寫法:使用 nohup env REKOG_RESET=1 flask ... 或分兩步先 export 再 nohup 。 |
檢查 Log:執行 tail -f flask.log ,成功會看到 INFO [root] Resetting Amazon Rekognition collection ,以及 Deleted collection 和 Created new collection 的訊息。腳本化:建議寫一個 reset_flask.sh 腳本,自動 export REKOG_RESET=1 並執行 nohup 啟動,減少出錯機率。 |
SQLite 九月消費資料新增與驗證 | 想要在 database.py 中,為 5 位測試會員新增 2025 年 9 月的 50 筆消費資料。啟動應用程式時呼叫 database.ensure_demo_data() ,但此方法只重設 demo profiles,沒有執行實際寫入 9 月交易的 _seed_member_history() 。 |
資料未插入 DB:ensure_demo_data() 沒有呼叫 _seed_member_history() ,導致 9 月交易紀錄從未寫入 SQLite。無法使用 CLI 驗證:VM 沒有安裝 sqlite3 CLI 工具,查詢時遇到錯誤 -bash: sqlite3: command not found 。前端顯示舊資料:即使資料庫已更新,前端頁面 (/members , /dashboard ) 仍然顯示舊內容。 |
呼叫寫入方法:修改 ensure_demo_data() ,讓它額外呼叫 _seed_member_history() ,或手動執行該方法。驗證方式 1 (CLI):安裝 sqlite3 CLI (sudo apt install sqlite3 -y ) 後進行查詢。驗證方式 2 (Python):新建 check_sqlite.py 腳本,使用 sqlite3 模組連接 DB,查詢 9 月筆數和前 10 筆記錄。重啟伺服器:確認 DB 確實插入資料後,重啟 Flask 伺服器,前端才能讀取最新內容。 |
查詢指令 (CLI):SELECT COUNT(*) FROM purchases WHERE purchased_at LIKE '2025-09%'; 。查詢腳本 (Python):確認 2025/09 的交易筆數 是否正確。 |