大家好,這次是我第一次挑戰 iThome 鐵人賽。
身為資訊相關領域的學生,平常在課堂上會接觸到不少程式設計與資訊安全的內容。雖然對於基本的程式語法、網頁前端或是資料庫都有接觸過,但以前學習的時候,大多是把一個個小範例或作業完成,比較少有機會把不同的技術整合成一個完整的作品。
所以這次我想給自己一個挑戰:
用 30 天,從零開始打造一個簡單又實用的健身重訓紀錄小幫手。
⸻
為什麼想做重訓紀錄系統?
程式開發和我們的日常生活其實有很密切的關係。
對我來說,平常課餘時間最大的興趣,就是去體適能中心做重量訓練。去健身房的時候,我們都需要記錄當下的訓練動作、重量和組數,但我發現市面上的健身 APP 要嘛介面太複雜、廣告太多,要嘛就是需要付費才能解鎖進階的訓練容量計算功能。
因為自己本身就在學程式設計,所以比起單純做一個為了交差的網頁,我更希望可以把自己正在學習的技術,和自己熱愛的「健身」結合起來。
這次的專案目標是一個以實用與學習為目的的輕量級網頁應用程式。希望透過實際製作,讓自己真正弄懂一個系統是怎麼從無到有被建立出來的,而且做出來的東西是我自己每天去健身房真的會打開來用的。
⸻
這 30 天要做什麼?
這次預計會從最基本的內容開始。
前期會先建立適合手機操作的網頁介面,接著加入 JavaScript 來處理動態表單與組間休息倒數計時器。
之後再進入後端,學習如何使用 Python 搭配 Flask 框架,以及讓網頁和後端互相傳遞資料。
最後再加入 SQLite 資料庫,讓系統可以真正儲存和讀取我每天的訓練紀錄。
大致的流程會是:
HTML / CSS → JavaScript → Python Flask → SQLite → 完整的小系統
最後希望可以完成核心的重訓管理功能,例如:
新增、修改與查詢歷史訓練紀錄
自訂訓練動作與重量紀錄
自動計算當日訓練總容量
實用的組間休息倒數計時器
⸻
為什麼要參加鐵人賽?
其實我覺得自己平常學程式的時候,很容易遇到一個問題:
「看懂了,但是自己真的做的時候還是不知道怎麼開始。」
所以這次參加鐵人賽,我希望不要只是看教學或完成老師給的作業,而是自己從頭規劃一個小專案。30 天的時間可以讓我把開發流程拆成比較小的部分,每天完成一點,最後再把這些東西組合起來。如果中間遇到卡關或修 Bug 的過程,剛好可以把它記錄下來,當成這次學習的一部分。
⸻
這次的目標
這 30 天我希望可以做到三件事情:
第一,重新整理並活用自己以前學過的程式設計內容。
第二,學會怎麼把前後端不同的技術整合在同一個專案裡。
第三,也是最重要的,希望 30 天結束之後,可以真的留下來一個屬於自己的實用作品。
除了以上的自我期許,為了符合 My Project 專區的發文規範,以下是這個專案的基本資訊:
專案名稱:Fit-Vault (健身重訓紀錄小幫手)
專案簡介:專為重訓愛好者設計的輕量網頁應用,提供直覺的重量紀錄、容量計算與組間計時功能。
目前的開發狀態:剛完成初步的需求企劃,準備進入介面設計階段。
GitHub 連結:https://github.com/JhengtingWu/Fit-Vault
今天先從規劃開始。明天就要正式進入系統的需求分析,看看這個重訓小幫手到底需要把哪些功能做到最好。
Day 1,正式開始!