「介面,不只是畫面,而是人與科技的對話,更是使用者與專案理念的第一個接觸點。」
在專案的前 11 天,我們談到專案的系統架構與決策邏輯,確立了前端、後端、資料庫、AI 模組之間的協作方式。
今天,焦點要落在「前端」——因為它是使用者最直接感受到的部分,也是平台能否真正被採納的關鍵。
前端框架的選擇,並不只是「工程師的偏好」,而是與產品定位、開發效率、部署模式高度相關。
在一開始,我就有幾個核心需求:
1.快速開發與維護: side project 的時間有限,必須用現成且成熟的生態系。
2.彈性與擴展性: 未來可能會增加情境模組(地震、颱風、戰災),需要能平滑延展。
3.SEO 與效能: 防災平台不只給工程師看,也要能讓一般大眾透過搜尋引擎找到。
基於這些條件,React + Next.js 是合適的選擇:
1.React 提供了強大的元件化設計,讓清單、問答表單、結果頁面都能被模組化管理。
防災物資推薦平台清單包含「物資卡片」「分類區塊」「情境建議」等重複元素。
React的元件化讓UI拆解成積木式元件,快速迭代、保持一致性。
Server-Side Rendering (SSR):提升行動裝置的載入速度,災時也能快速使用。
API Routes:輕量後端請求(如即時推薦或清單比對)能在框架內完成。可以直接在Next.js內建API route處理小型請求(例如即時推薦或清單比對)。
Vercel部署優勢:CI/CD 自動化,一鍵推送即可完成部署,,讓side project的維護更輕鬆、維運成本更低。
3.擴充性
React/Next.js擁有龐大社群。
與 Tailwind CSS 搭配,可以快速建構出既現代又簡潔的 UI。
對個人專案而言,意味著「可維護」與「能持續演進」。
如果問我這個專案最困難的部分,其實不是程式碼,而是如何讓使用者理解並採納。
我把前端設計的挑戰分成三個層次:
1.入口要簡單
在 Figma 的初版設計中採取 「簡單、清晰、可行動」 的原則,把使用者流程拆成三頁:
1.首頁(Landing Page)(入口)
**目標:** 讓使用者秒懂「這是一個防災物資推薦平台」。
Hero 區塊:標語:「三步驟,找到屬於你的避難包」
Call-to-Action:一個大按鈕「開始準備」。
明顯的輸入框或按鈕,引導使用者輸入「家庭人數」或「生活情境」。
簡單插圖:降低防災的嚴肅感,營造親近氛圍。
2. 問答流程(Form Wizard)(互動)
**互動設計:** 使用 Stepper(分步驟)介面,採用單題分頁式,減少使用者的認知負擔。
**例子:**
Step 1:輸入家庭人數、年齡層。
Step 2:選擇居住環境(公寓/獨棟)。
Step 3:是否有寵物。
3.結果頁(Recommendation Result)(清單)
** 物資卡片:** 每個物資項目以卡片呈現,包含圖片、建議數量、用途說明。
** 標籤分類:** 例如「必備」、「選配」、「情境」。
** 一鍵下載/分享:** 輸出為 PDF 或 LINE 分享,方便傳給家人。
**補充說明:**
清單分成四大類別。
* 每一項物資旁有一行解釋,例如「行動電源|停電時保持通訊」;並附上勾選框,讓使用者標記是否已備齊。
* 若有串接 API,還能跳出「去購買」按鈕,直接導向電商頁面。
4.響應式設計(Responsive Design)
**策略:**
使用 Tailwind CSS快速建立響應式樣式。
保證核心功能(輸入/查看清單)在4吋螢幕上依然清晰可操作。
[首頁 Hero] ---------------------------
| 標語:三步驟,找到屬於你的避難包 |
| [開始規劃按鈕] |
---------------------------------------
[問答流程 Stepper] -------------------
Step 1:家庭人數 [ 1-9 下拉選單 ]
Step 2:居住類型 [ 公寓 / 獨棟 ]
Step 3:是否有寵物 [ 是 / 否 ]
[ 下一步 ] [ 上一步 ]
---------------------------------------
[推薦清單頁] -------------------------
| 必備物資 | 乾糧(3 天份) | [✓] |
| 選配物資 | 行動電源 | [✓] |
| 情境物資 | 貓糧 2kg | [✓] |
[ 下載 PDF ] [ 分享到 LINE ]
---------------------------------------
「一個好產品,不是憑空出現,而是經過無數次迭代的結果。」
「好的設計不是一步到位,而是透過迭代,不斷逼近理想使用體驗。」
1.快速迭代,,快速測試想法。
2.優先確認功能與流程正確,並模擬、確立品牌風格與使用者體驗。
3.於後續製作Prototype(原型),: 驗證產品概念、測試互動流程、收集使用者回饋。
這樣的流程,讓專案既能靈活迭代,又能逐步走向穩定。
這裡我規劃了幾個技術步驟:
📌 重點回顧(技術落點):
React元件化 —— Hero、Stepper、清單頁都能拆分成可重複使用的元件。
Next.js部署 —— 利用 Vercel部署,確保在行動裝置上快速載入。
Tailwind CSS —— 建立響應式版型,確保在手機上依然清晰可用。
設計前端,表面上是「畫面」和「程式碼」,但本質上是 如何讓資訊成為行動。
對我而言,這個平台不只是一個工具,而是一種「韌性生活」的實踐方式。
前端不是「裝飾」,而是「轉化的橋梁」:將嚴肅的防災文件,化為人人可理解的日常指南。
Day13我將進一步分享 後端設計(Node.js/Express) ,解釋如何讓這個前端問答流程如何串接資料庫與 AI 模組,生成真正「個人化」的防災物資推薦清單。