iT邦幫忙

鐵人檔案

2026 iThome 鐵人賽
回列表
Software Development

從 Vibe Coding 到可維護專案:用 Hermes Agent 重讀 RoomRush Android 專題 系列

RoomRush 是我過去完成的一個 Android 空教室查詢專題。一開始它比較像是分工與 AI 協作下完成的作品,但真正回頭看程式碼時,我發現自己需要重新理解它的資料流、畫面流程、管理者功能與技術債。
這個系列不是從零開發一個新 App,而是記錄我如何用 Hermes Agent 協助自己逐檔案重讀 RoomRush,最後整理出專案總地圖、資料風險與低風險改善清單。
我想透過這個過程,把一個「能跑的專題」重新整理成一個「我真正看得懂、能說明、能維護」的 Android 專案。

參賽天數 23 天 | 共 23 篇文章 | 0 人訂閱 訂閱系列文 RSS系列文
DAY 11

Day 11 | 一間教室的一週課表,在資料庫裡長什麼樣子?

前言:RoomRush 的核心資料模型如何表示一間教室的一週課表? 結束了空教室查詢系統的第一階段-「使用者查詢流程」之後,我們第二階段要了解的是 RoomRu...

2026-09-20 ‧ 由 Liu 分享
DAY 12

Day 12 | App 要查資料、改資料,Room DAO 負責哪一層?

前言:資料庫查詢、新增、更新、刪除在哪裡定義? 前一篇文章介紹了 ClassroomSchedule.kt 作為 RoomRush 的 Room Entity,...

2026-09-21 ‧ 由 Liu 分享
DAY 13

Day 13 | 為什麼 ViewModel 不該直接碰資料庫?Repository 的角色是什麼?

前言:Repository 在資料層扮演什麼角色,為什麼 ViewModel 不直接碰 DAO? 前一篇介紹了 ClassroomScheduleDao.kt...

2026-09-22 ‧ 由 Liu 分享
DAY 14

Day 14 | CSV 檔案是怎麼變成 App 裡可以查的課表資料?

前言:SF.csv / ES.csv 如何被匯入 Room Database? 前一天我們理解了 ClassroomScheduleRepository.kt如...

2026-09-23 ‧ 由 Liu 分享
DAY 15

Day 15 | Repository 從哪裡生出來?我第一次看懂 AppContainer 的用途

前言:Activity / ViewModel 如何取得 Repository 與資料來源? 前一天我們搞懂了資料庫的讀寫與預載機制,今天我們要繼續追資料主線。...

2026-09-24 ‧ 由 Liu 分享
DAY 16

Day 16 | 從 CSV 到畫面:RoomRush 的資料流我終於串起來了

前言:CSV 到 ViewModel 再到畫面的完整資料流是什麼? 在第二階段「資料來源主線」,我們在前面介紹到以下這幾個檔案: AppDatabase.k...

2026-09-25 ‧ 由 Liu 分享
DAY 17

Day 17 | 我發現一個危險問題:管理者修改可能被 CSV 蓋掉

前言:為什麼管理者修改可能被 CSV 重新匯入覆蓋? 前幾天我一路追著 RoomRush 的資料來源,把原本分散在不同檔案裡的流程串了起來: SF.csv /...

2026-09-26 ‧ 由 Liu 分享
DAY 18

Day 18 | 管理者登入看起來能用,但安全性真的夠嗎?

前言:管理者登入怎麼做?後台入口是否有足夠保護? 前一天探究了 App 其中之一的技術債-管理者修改可能被 CSV 重新匯入覆蓋,這帶出了今天要正式進入到的主題...

2026-09-27 ‧ 由 Liu 分享
DAY 19

Day 19 | 進入後台之後,管理者其實有三條功能線

前言:管理者登入後可以去哪三條線?各自維護什麼資料? 前一天我們了解了管理者功能的入口登入功能,今天我們要繼續進入到管理者的主畫面-ManagerActivit...

2026-09-28 ‧ 由 Liu 分享
DAY 20

Day 20 | 管理者選擇「是 / 否」有課之後,課表資料怎麼被改掉?

前言:是 / 否如何變成 X / null,並寫回資料庫? 前一天我們知道了管理者頁面有三條分支可以提供給我們修改,今天要來介紹第一個分支線-LessonMan...

2026-09-29 ‧ 由 Liu 分享