iT邦幫忙

鐵人檔案

2026 iThome 鐵人賽
回列表
Build on Google AI

單鐵的人生如履薄冰!AI 教練 APP 30天開發旅程,你說能走到最後嗎? 系列

單鐵的人生如履薄冰!這是一場將程式碼與汗水結合的 30 天鐵人挑戰。本專案以 Build on Google AI 為核心概念,打造具備大腦的馬拉松教練 APP 「KAKERU」。透過 React Native 雙平台架構的實作介面,搭配 GCP 無伺服器 Java 後端。Gemini API 將依據使用者需求,提供客製化課表、跑後數據分析。帶領讀者走過架構設計、API 串接、金鑰管理到 UI 體驗優化,體驗專屬 AI 教練從無到有的誕生過程。你說能走到最後嗎?

鐵人鍊成 | 共 30 篇文章 | 5 人訂閱 訂閱系列文 RSS系列文
DAY 11

Day 11 | 容器化實戰:撰寫 Dockerfile,將 Spring Boot 應用程式輕量打包

前言:告別「在我的電腦上明明可以跑」 經過前 10 天的奮戰,AI 教練 KAKERU 的 API 已經具備了邏輯、記憶力與防禦機制。本地端開發也算告一段落!...

2026-08-20 ‧ 由 takuyatsai 分享
DAY 12

Day 12 | 把 Docker Image 戴上手銬!部署 Cloud Run 與安全金鑰管理

前言:把本地的模擬,轉化為雲端上的真實場景 經過前 11 天的淬鍊,Kakeru AI 教練 API 已經在本地端化身為一個極度輕量、安全的 Docker Im...

2026-08-21 ‧ 由 takuyatsai 分享
DAY 13

Day 13 | 上線驗證與流量防護:Cloud Run 擴展限制與 API Rate Limiting 實戰

前言:別讓自動擴展變成破產機器:實作 Cloud Run 雙重防護 Cloud Run 的強大之處在於「無極限自動擴展 (Autoscaling)」,但若了解的...

2026-08-22 ‧ 由 takuyatsai 分享
DAY 14

Day 14 | React Native 核心觀念轉換:從 Web 元件思維走向跨平台 Mobile APP

前言:為什麼選擇 React Native? 經過前面 13 天的奮戰,我們位於 GCP 雲端的 AI 大腦已經準備就緒,不僅能精準吐出 JSON 格式的馬拉松...

2026-08-23 ‧ 由 takuyatsai 分享
DAY 15

Day 15 | 導覽列與路由:實作首頁、課表頁、個人頁面的絲滑切換

前言:單頁 APP 是不夠的,我們需要導覽列! 昨天我們完成了「KAKERU」的第一個首頁畫面。有讀者一定有發現,畫面底部出現了一個非常有質感的黑色懸浮導覽列!...

2026-08-24 ‧ 由 takuyatsai 分享
DAY 16

Day 16 | 介面實作 (1):打造跑者基本資料的專屬表單,為 AI 準備精準 Context

前言:AI 教練也需要認識你 在 Day 9 設計後端 Prompt 範本時,我們預留了 {{TARGET_RACE}}(目標賽事)與 {{CURRENT_LE...

2026-08-25 ‧ 由 takuyatsai 分享
DAY 17

Day 17 | 前後端串接:透過 Axios 呼叫 Cloud Run,並用 AI 跨端排查 Guardrail 障礙

前言:雙A連線,讓手機 APP 與雲端 API 連線 經過前面的努力,目前手機 APP (React Native + Expo) 已經建立好跑者的個人設定與課...

2026-08-26 ‧ 由 takuyatsai 分享
DAY 18

Day 18 | 打造教練的海馬迴:Zustand 與 Persist 持久化實戰

前言:資料拿到了,但 APP 重開就失憶? 在昨天的實作中,我們成功地將「個人檔案頁」與「課表頁」的職責分離,並順利透過 Cloud Run 拿到了 AI 為東...

2026-08-27 ‧ 由 takuyatsai 分享
DAY 19

Day 19 | 介面實作 (2):告別生硬 JSON!拆解 UI 元件並完美綁定 AI 課表資料

前言:骨架有了,現在為它注入靈魂 在 Day 17 時,我們已經勾勒出了課表頁面的基本輪廓;昨天 (Day 18) 更是透過 Zustand 成功打造了 APP...

2026-08-28 ‧ 由 takuyatsai 分享
DAY 20

Day 20 | 介面實作 (3):打造課表診療室,實作疲勞度打卡與文字發問介面

前言:計畫永遠趕不上變化,靜態課表的死穴 昨天成功把 JSON 轉化為極具質感的課表 UI。看著 4 週訓練計畫,感覺跑者隨時都可以準備跑了。但在實際狀況裡,備...

2026-08-29 ‧ 由 takuyatsai 分享