iT邦幫忙

鐵人檔案

2026 iThome 鐵人賽
回列表
Vibe Coding

做一個團購後端,順便搞懂那些事 系列

初入 Spring Boot 的世界,想試著用 AI 輔助開發,但不只是讓 AI 幫我寫程式。透過和 AI 討論、比較不同方案,思考技術取捨與決策,理解程式背後的原因。希望這 30 天不只做出一套後端系統,也能在 AI coding 的過程中,練習真正屬於自己的技術判斷力。

參賽天數 8 天 | 共 8 篇文章 | 0 人訂閱 訂閱系列文 RSS系列文 團隊AI的I,是I人的I
DAY 1

Day 1|先來點 README:PayPool 在做什麼

基本介紹 PayPool 是一套團購記帳管理系統的後端 API,整個專案的核心流程用一句話概括就是:一人開團、多人下單、截止時間到自動從各人帳戶餘額扣款、結果...

DAY 2

Day 2|一個請求的完整旅程

團主要開一張團購訂單:挑一家店、給團名、設一個截止時間,這個時候前端帶著登入時拿到的 JWT 送出: POST /order/create_order Auth...

DAY 3

Day 3|Flyway:把 schema 當程式碼管理

使用者先儲值到自己的帳戶,跟著別人開的團下單,等團購截止結算時,系統從他的餘額把該付的金額扣掉。 帳號資料放在 users: CREATE TABLE `use...

DAY 4

Day 4|分類名稱軟刪除之後,名字還能重新使用?

專案中的分類功能預想的的使用情境是這樣的 : 商品分類由管理員管理,管理員可以新增「飲料」類、「零食」類,不需要的分類可以刪掉,且所有登入者都可以看得到這份分類...

DAY 5

Day 5|為什麼 Controller 不能直接回傳 Entity?

Entity不會直接拿來接收請求(Request)或是回傳請求(Response),因為如果直接回傳Entity會暴露資料表的欄位,同理,直接讓Entity接收...

DAY 6

Day 6|例外設計:讓錯誤一路走到統一出口

團員把品項加入團購訂單時,不能只確認「品項存不存在」。 至少要確認五件事: 訂單是否存在 訂單是否還在開團中 訂單是否已經超過截止時間 品項是否存在 品項是否...

DAY 7

Day 7|HS256 v.s RS256:兩種簽章演算法有什麼不同?

JWT為什麼會需要區分簽發與驗證? JWT 的簽章演算法,表面上是在選「怎麼簽名」,實際上也在決定: 哪些服務有能力發出一張看起來合法的 Token? 專案...

DAY 8

Day 8|登出只刪 refresh,那張還活著的 access 怎麼作廢?

JWT 的優點是 stateless——伺服器只驗簽章,不查資料庫就能確認身分,但是如果只有單支 token 會遇到一個無解的取捨:效期短,使用者每隔幾分鐘就被...