fom Freepik
為什麼要自己做網站?
身為一個熱愛騎自行車的上班族,我經常需要計算爬坡時需要多少功率,或是分析 GPS 軌跡檔案來規劃騎乘時間。特別是工作上常常需要分析電輔腳踏車的性能,要多少瓦數才能爬什麼坡,市面上雖然有一些工具,但總是缺少我想要的功能,而且大多是英文介面。
於是我想:「不如自己做一個?」
這個想法讓我開始了一個有趣的學習之旅。從完全不懂網站架設,到現在有了一個自己用得順手的專業工具,這個過程不僅讓我學到了技術,更重要的是學會了如何將工作需求變成實用工具。
我做了什麼?
🚴♂️ 自行車功率計算器
我的網站主要功能很簡單:
- 輸入你的體重、功率,就能算出在不同坡度能騎多快
- 反過來,輸入目標速度,就知道需要多少功率
- 可以上傳 Strava 或 Garmin 的 GPX 檔案,自動分析整條路線需要多久時間
- 特別針對電輔腳踏車的功率需求進行分析
聽起來很專業?其實核心就是一些物理公式的計算,任何人都能理解。
🌟 與眾不同的地方
為什麼不直接用現有工具?
- 大部分工具都是英文,台灣騎士用起來不方便
- 很少支援 GPX 檔案直接拖拉上傳分析
- 計算結果不夠詳細,看不出各種阻力的影響
- 沒有針對台灣常見路線(像武嶺、陽明山)優化
- 缺乏電輔腳踏車的專門分析功能
所以我做的不只是一個計算器,而是專為自己(和可能有同樣需求的人)設計的實用工具。
技術選擇:簡單就是美
💻 為什麼不用複雜的框架?
一開始我也想過要用 React 或 Vue 這些熱門框架,但後來發現:
- 載入更快:沒有多餘的程式庫,網頁開啟飛快
- SEO 更好:Google 更容易理解和收錄
- 維護簡單:不用擔心框架版本更新問題
- 成本更低:不需要複雜的建置流程
最終我選擇了最簡單的技術:HTML + CSS + JavaScript,但這不代表功能陽春。
🚀 為什麼選擇 Firebase?
在比較了各種主機服務後,我選擇了 Google 的 Firebase:
費用考量
- 完全免費(每月 10GB 流量)
- 對個人工具來說綽綽有餘
- 目前流量不大,免費額度就夠用
技術優勢
- 全球加速,台灣用戶載入很快
- 自動 HTTPS 安全連線
- 與 Google 服務整合完美
未來彈性
- 之後如果有需要可以輕鬆升級
- 可以串接其他 Google 服務
- 部署流程簡單
版本控制:為什麼 Git 這麼重要?
🔄 我的工作流程
剛開始我也不懂版本控制,每次改程式都是直接覆蓋檔案。直到有一次改壞了,找不回原來的版本,才深刻體會到 Git 的重要性。
現在我的工作方式是:
- 平常開發:在
develop分支實驗新功能 - 本地測試:確認功能正常運作
- 正式發佈:合併到
main分支,自動部署上線
這樣的好處是:
- 🛡️ 絕對不會弄壞正式網站
- 🔄 可以隨時回到之前的版本
- 📋 清楚記錄每次的修改內容
💡 給新手的建議
如果你也想開始用 Git:
- 不用一開始就學複雜的指令
- 先學會基本的
add、commit、push - 養成經常備份的習慣
- 用 GitHub Desktop 這類圖形介面工具
自動化部署:讓機器人幫你工作
⚙️ 什麼是自動部署?
簡單說,就是當我把程式碼上傳到 GitHub 後,系統會自動幫我更新網站,不需要手動操作。
以前的流程:改程式 → 手動上傳檔案 → 手動部署 → 測試網站 ❌ 現在的流程:改程式 → 推送到 GitHub → 自動部署 → 收到完成通知 ✅
🎯 實際效益
節省時間
- 每次部署從 10 分鐘縮短到 3 分鐘
- 可以更專注在功能開發
減少錯誤
- 不會因為手動操作失誤
- 每次部署流程都一致
現況與學習心得
📊 目前狀況
說實話,網站才剛上線不久,瀏覽量還很少,主要還是我自己在用。但這其實沒關係,因為一開始的目的就是解決自己的需求,能夠順便幫到其他有相同需求的人更好。
🤔 遇到的困難
技術挑戰
- 不同 GPS 設備的檔案格式差異
- 複雜的物理公式計算
- 跨瀏覽器相容性問題
- 電輔腳踏車功率計算的特殊考量
功能完善
- 如何讓計算結果更準確?
- 怎樣讓介面更直觀好用?
- 如何處理各種特殊情況?
🚀 解決方案
技術方面
- 多看文件,多試錯
- 在自行車社群請教專業知識
- 找朋友幫忙測試不同裝置
- 針對工作需求持續調整功能
📚 最大的收穫
這個專案讓我學到的不只是技術:
技能成長
- 全端網站開發基礎
- 使用者體驗設計思考
- 問題分析與解決能力
- 將工作需求轉化為工具的能力
心態轉變
- 從「我不會」到「我可以學」
- 從「湊合著用」到「做個好用的」
- 從「只有我用」到「也許能幫到別人」
未來想法
🎯 短期目標
- 持續完善現有功能
- 修正使用上發現的問題
- 增加更多電輔腳踏車相關的分析功能
- 讓工具更符合實際工作需求
📈 如果有機會
- 也許會嘗試簡單的 SEO 優化
- 如果真的有其他人覺得有用,會考慮加入更多功能
- 可能會寫一些騎車相關的實用文章
給想開始的人的建議
🎯 從解決自己的問題開始
你不需要一開始就想著要做給很多人用:
- 先解決你自己真正遇到的問題
- 快速做出能用的版本
- 用起來順手比功能複雜更重要
🛠️ 選擇適合的工具
技術選擇
- 不一定要用最新最炫的技術
- 選擇你能掌握的工具
- 優先考慮簡單穩定
平台選擇
- Firebase 適合新手入門,而且免費額度很夠用
- GitHub 是必學的版本控制
- 簡單的 HTML + CSS + JavaScript 就能做很多事
💪 保持學習動機
設定實際的目標
- 第一週:網站能正常運作
- 第一個月:自己用起來很順手
- 之後:根據需求持續改進
享受過程
- 學習新技術的成就感
- 解決問題的滿足感
- 工具越來越好用的開心
🌐 工具分享
如果你也有類似的需求,歡迎試用我做的工具:
🚴♂️自行車功率計算器
這個工具完全免費使用,功能包括:
- 功率與速度計算
- GPX 檔案路線分析
- 電輔腳踏車功率需求分析
- 適合台灣路線的爬坡計算
雖然還在持續改進中,但基本功能都很穩定。如果使用上有任何問題或建議,也歡迎聯絡我!
總結:從需求到工具
這個專案從想法到能用,花了我大約3天的業餘時間。雖然現在瀏覽量還不大,但每次用自己做的工具解决工作問題時,那種滿足感是很特別的。
🌟 核心心得
技術不是門檻
- 你不需要是資深工程師
- 現在的工具讓開發變得很簡單
- 重要的是解決真實的問題
實用至上
- 功能不用多,但要真的有用
- 自己用得順手最重要
- 能幫到別人是額外的驚喜
持續改進
- 不要等到完美才開始用
- 邊用邊改,邊改邊學
- 小步快跑比規劃完美更實際
🚀 如果你也想開始
- 找到你的需求:什麼工作或生活問題一直困擾著你?
- 簡單開始:不要想著一次解決所有問題
- 快速上手:先做出能用的版本
- 持續改進:根據使用經驗不斷優化
記住,最好的工具往往是從解決自己的小問題開始的。你的需求可能也是別人的痛點,說不定你的小工具就能幫到更多人!
這篇文章記錄了一個普通上班族如何將工作需求和業餘興趣結合,做出實用工具的過程。希望能鼓勵更多人動手解決自己遇到的問題。