iT邦幫忙

鐵人檔案

2026 iThome 鐵人賽
回列表
Software Development

SyncETA 開發日記:手把手打造你的智慧出發時間推薦 PWA 系列

本系列將記錄開發 SyncETA Lite 的完整歷程——一套基於機率式思維、為初學者設計的出發時間推薦 PWA。

內容涵蓋 PWA 基礎架構、台灣 TDX 運輸資料與 Google Maps API 串接、簡化版機率推薦邏輯(分位數運算)、離線與推播體驗優化,以及部署上線。

全程程式碼皆會標注寫在專案 syncetalite-pwa/ 資料夾中的哪個檔案,適合對智慧交通、PWA 開發有興趣的初學者跟著實作。

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

【Day 01】為什麼要做「智慧出發時間推薦」?

大家好,我是這次 iThome 鐵人賽 Software Development 組的參賽者。這 30 天,我要從零開始,帶大家用最平易近人的方式,做出一個真正...

2026-08-24 ‧ 由 zoeeyee 分享
DAY 2

【Day 02】PWA 是什麼?為何選它當開發框架

昨天說明了 SyncETA Lite 想解決的問題,今天來談談我們的技術選型:為什麼是 PWA(Progressive Web App,漸進式網頁應用),而不是...

2026-08-25 ‧ 由 zoeeyee 分享
DAY 3

【Day 03】開發環境建置:專案初始化與資料夾結構規劃

今天正式動手。我們會用 Vite(一個輕量、快速的前端建置工具)搭配原生 JavaScript(不用額外框架,降低初學者的學習門檻)來開發 SyncETA Li...

2026-08-26 ‧ 由 zoeeyee 分享
DAY 4

【Day 04】PWA 的核心三要素:Manifest、Service Worker、HTTPS

今天要把昨天規劃好的 public/manifest.json 和 public/sw.js 實際寫出來,讓專案具備 PWA 的基本資格。 1. Web Ap...

2026-08-27 ‧ 由 zoeeyee 分享
DAY 5

【Day 05】做出第一個「可安裝」的 PWA 頁面

今天是第一階段的最後一天,目標很單純:把專案跑起來,並實際在瀏覽器上「安裝」它。 啟動開發伺服器 在 syncetalite-pwa/ 資料夾下執行: npm...

2026-08-28 ‧ 由 zoeeyee 分享
DAY 6

【Day 06】認識 TDX 平台:申請 API 金鑰、基本概念

第二階段開始,今天先認識台灣交通部主導的 TDX 運輸資料流通服務平台(Transport Data eXchange) ,它是我們整個專案最重要的資料來源。...

2026-08-29 ‧ 由 zoeeyee 分享
DAY 7

【Day 07】第一次呼叫 TDX API:抓取公車即時資料

今天要寫下這個系列的第一支「真正會動」的資料串接程式碼。 目標檔案:src/api/tdx.js。 第一步:取得 Access Token TDX 使用 OA...

2026-08-30 ‧ 由 zoeeyee 分享
DAY 8

【Day 08】資料格式解析與清理

TDX 回傳的原始 JSON 資料欄位很多,對初學者來說第一次看到可能會眼花。 今天的任務是把它整理成我們自己好用的格式。 TDX 原始資料長什麼樣子(簡化示...

2026-08-31 ‧ 由 zoeeyee 分享