專案作品

這裡收錄了我開發的全端與前端專案,包含原始碼與技術細節。

招募重點速覽

13/13

缺勤管理系統
缺勤管理系統

成果:把出勤、請假、加班與簽核整合到同一流程,並透過規則與角色權限設計,降低行政流程溝通成本與操作錯誤率。

可展示、可操作的缺勤管理系統,涵蓋打卡、請假、加班、簽核與管理設定流程。前端使用 React + TypeScript + Vite,後端使用 Express + TypeScript + Prisma,並以 Docker Compose 串接 PostgreSQL 與 pgAdmin。
STAR 重點Expand

S: 常見出勤管理流程分散在多工具,缺少一致的權限控管與可追蹤的申請/簽核紀錄。

T: 打造一套可本機快速啟動、可測試驗證、可展示全端實作能力的缺勤管理系統,完整覆蓋員工到管理者的日常流程。

A: 設計 React 前端操作流程,實作 Express + Prisma API(Auth、Attendance、Leave、Overtime、Delegations),導入 PostgreSQL 與 Docker Compose;同時加入 Vitest、Playwright 與 OpenSpec 工作流管理需求與變更。

R: 完成具備打卡、請假、加班與簽核能力的 MVP,並建立可重複驗證的測試與規格流程,能清楚展示我在產品化全端系統上的整合能力。

ReactTypeScriptViteExpressPrismaPostgreSQLDocker ComposeVitestPlaywrightOpenSpec
Cloud Storage - 雲端儲存平台
Cloud Storage - 雲端儲存平台

成果:把上傳、搜尋、分享與驗證整合到單一流程,明顯降低使用者完成檔案管理任務的步驟成本。

使用最新 Next.js 16 與 Appwrite BaaS 服務打造的全功能雲端硬碟。具備檔案上傳、分類管理、OTP 登入驗證與全局搜尋功能。使用 Shadcn UI 與 Tailwind CSS 建構現代化儀表板。
STAR 重點Expand

S: 許多個人雲端儲存練習作品只做到上傳,缺少完整的登入安全與檔案管理流程。

T: 打造一個可實際展示全端整合能力的雲端儲存平台,兼顧安全性與操作效率。

A: 以 Next.js 16 App Router 建立前端流程,整合 Appwrite 完成 OTP 驗證、檔案分類/搜尋/分享,並用 Shadcn UI 規劃儀表板互動。

R: 完成端到端可用的檔案管理流程,能清楚展現我在驗證、資料流設計與產品化介面實作的能力。

Next.js 16AppwriteTypeScriptShadcn UIReact Hook Form
Movie Discovery - 模擬電影網站
Movie Discovery - 模擬電影網站

成果:透過 Debounce 與趨勢統計減少冗餘請求,提升搜尋回饋速度與內容探索效率。

串接 TMDB API 與 Appwrite 資料庫的電影資訊網站。特色包含即時搜尋優化 (Debounce)、動態路由導航以及「熱門搜尋趨勢」統計功能。
STAR 重點Expand

S: 電影搜尋頁常見問題是輸入時連續發送請求,造成延遲與資源浪費。

T: 做出一個互動流暢、可快速探索熱門內容的電影資訊平台。

A: 串接 TMDB API,導入 Debounce 搜尋機制、動態路由與趨勢統計邏輯,並以 Tailwind CSS 優化操作回饋。

R: 在保持即時互動體驗的同時降低重複請求,讓使用者更快找到目標電影與熱門內容。

ReactTMDB APIAppwriteTailwind CSS
MERN 課程模擬平台
MERN 課程模擬平台

成果:完成角色分流與權限控制後,課程建立、選課與管理流程可以在同一系統中穩定運作。

完整的線上課程系統。後端使用 Express 與 MongoDB 設計複雜的資料關聯 (Schema Relations),實作 JWT 身份驗證與角色權限控制 (RBAC),區分講師與學生權限。
STAR 重點Expand

S: 課程平台同時涉及講師與學生,若缺乏權限分流容易造成資料與操作混亂。

T: 建立一套可支撐多角色操作的 MERN 系統,確保驗證與資料關聯一致。

A: 以 Express + MongoDB 設計資料模型與關聯,導入 JWT 驗證與 RBAC,拆分講師/學生操作路徑與 API 授權。

R: 成功穩定支援課程建立、報名與管理流程,並可清楚展示我在後端權限架構上的實作能力。

ReactNode.jsExpressMongoDBJWT
Pexels 圖片素材搜尋
Pexels 圖片素材搜尋

成果:建立可重複使用的 API 串接模式,後續整合第三方服務時可更快完成資料流與錯誤處理。

串接 Pexels 官方 API 的高畫質圖片搜尋引擎。練習了 React Hooks (useState, useEffect) 的狀態管理與 Async/Await 非同步資料串接技巧。
ReactPexels APIAxiosCSS Grid
雲端便利貼 (Sticky Notes)
雲端便利貼 (Sticky Notes)

成果:導入第三方登入與群組資料關聯後,讓多人協作與權限管理流程更貼近真實產品情境。

支援多人協作的便利貼應用。使用 Passport.js 實作 Google 第三方登入,並透過 Mongoose Population 處理使用者與群組間的資料關聯。
Node.jsExpressMongoDBPassport.jsEJS
ACO 蟻群演算法視覺化
ACO 蟻群演算法視覺化

成果:把演算法收斂過程視覺化後,能更直觀比較參數設定對路徑品質與收斂速度的影響。

將抽象的演算法具象化。使用 HTML5 Canvas API 與 JavaScript Class 完整實作 ACO 演算法,即時模擬螞蟻尋找最佳路徑的過程,並提供參數控制面板。
Canvas APIJavaScriptAlgorithmsCSS Flexbox
彈跳球遊戲 (Ball Breaker)
彈跳球遊戲 (Ball Breaker)

成果:透過完整遊戲迴圈與碰撞邏輯實作,強化了即時互動系統的狀態管理能力。

經典的打磚塊遊戲復刻。深入練習了 JavaScript 的遊戲迴圈 (Game Loop)、座標計算與事件監聽機制。
Canvas APIJavaScriptGame Logic
貪食蛇遊戲
貪食蛇遊戲

成果:加入最高分持久化機制,讓產品具備基礎留存與重玩動機設計。

使用原生 JavaScript 實作的經典遊戲。包含碰撞偵測邏輯,並使用 LocalStorage 紀錄玩家最高分。
Canvas APIJavaScriptLocalStorage
GPA 成績計算機
GPA 成績計算機

成果:把成績輸入、計算與排序整合成單頁流程,降低手動計算錯誤並提升操作便利性。

大學生成績計算工具。實作了動態表單增刪功能,並內建 Merge Sort 演算法提供成績排序功能。開場動畫使用 GSAP 製作。
JavaScriptDOMGSAPAlgorithms
個人履歷網站 (舊版)
個人履歷網站 (舊版)

成果:建立早期個人品牌展示基礎,並為後續版本重構累積可重用的視覺與互動經驗。

大三時期的作品。練習了 SCSS 變數管理、打字機特效與漢堡選單的實作。背景氣泡動畫使用純 CSS Keyframes 完成。
HTMLSCSSJavaScriptBootstrap
日本旅遊推廣網
日本旅遊推廣網

成果:強化了多版位 RWD 排版能力,後續處理內容型網站時可更快完成跨裝置適配。

練習 CSS 佈局與 RWD 的作品。使用 position: sticky 實作導覽列,並透過 JavaScript SetInterval 實現背景輪播。
HTMLSCSSJavaScriptGoogle Maps API
圍棋資訊網
圍棋資訊網

成果:累積圖表與視覺化整合經驗,為後續資料導向介面的呈現打下基礎。

早期的靜態網頁練習作品。使用 Google Charts 繪製數據圖表,並引入 canvas-nest.js 製作背景特效。
HTMLCSS FlexboxGoogle ChartsRWD