今日目標
• 打造吸引人的 GitHub 作品集
• 學習專案展示技巧
• 建立專業的 README
• 提升專案可見度
一、優秀作品集的要素
雇主/面試官看什麼?
程式碼品質 (40%)
專案完整度 (30%)
展示能力 (20%)
持續活躍 (10%)
理想的作品集:
二、選擇展示的專案
優先選擇
✅ 完整的應用程式
✅ 解決實際問題的工具
✅ 有創意的專案
✅ 開源貢獻
❌ 未完成的專案
❌ 程式碼品質差
三、打造完美的 README
基本結構
簡短的一句話描述(讓人一眼就懂)
# Clone 專案
git clone https://github.com/username/project.git
# 安裝依賴
npm install
# 設定環境變數
cp .env.example .env
# 編輯 .env 填入必要資訊
# 執行開發伺服器
npm run dev
📸 截圖
首頁
功能頁面
🎯 專案動機
為什麼做這個專案?解決什麼問題?
🔑 核心功能說明
功能 1:詳細說明
...
功能 2:詳細說明
...
🤔 遇到的挑戰
挑戰 1
遇到什麼問題,如何解決
挑戰 2
遇到什麼問題,如何解決
🚧 未來計畫
• [ ] 功能 A
• [ ] 功能 B
• [ ] 效能優化
📝 學到什麼
列出這個專案讓你學到的技術或概念
🤝 貢獻
歡迎貢獻!請閱讀 CONTRIBUTING.md
📄 授權
MIT License
👤 作者
你的名字
• GitHub: @username
• Email: your.email@example.com
• Portfolio: your-portfolio.com
### **README 範例:Todo App**
```markdown
# ✅ Modern Todo App
一個功能完整的待辦事項應用,支援分類、優先級、提醒和多人協作

## 🚀 [線上 Demo](https://todo-app-demo.com)
## ✨ 特色功能
- 🎯 智能分類與標籤系統
- ⏰ 到期提醒與推送通知
- 👥 團隊協作與任務分配
- 📊 數據統計與視覺化
- 🌙 深色模式
- 📱 響應式設計(RWD)
## 🛠️ 技術棧
**前端**
- React 18 + TypeScript
- Redux Toolkit (狀態管理)
- Tailwind CSS (樣式)
- React Query (資料獲取)
**後端**
- Node.js + Express
- PostgreSQL (資料庫)
- Prisma (ORM)
- JWT (認證)
**DevOps**
- Docker
- GitHub Actions (CI/CD)
- Vercel (部署)
## 📦 快速開始
```bash
# 1. Clone 專案
git clone https://github.com/username/todo-app.git
cd todo-app
# 2. 安裝依賴
npm install
# 3. 設定環境變數
cp .env.example .env
# 編輯 .env:
# DATABASE_URL=postgresql://...
# JWT_SECRET=your-secret
# 4. 初始化資料庫
npm run db:migrate
# 5. 啟動開發伺服器
npm run dev
# 前端:http://localhost:3000
# 後端:http://localhost:5000
🎯 為什麼做這個專案?
現有的 Todo App 要嘛太簡單,要嘛太複雜。 我想做一個:
• 功能完整但不臃腫
• 介面美觀且易用
• 支援團隊協作
🤔 技術挑戰與解決
挑戰 1:即時協作同步
問題: 多人同時編輯任務,如何避免衝突? 解決: 使用 WebSocket + Operational Transformation 演算法
挑戰 2:效能優化
問題: 大量任務時頁面卡頓 解決:
• 實作虛擬滾動
• 使用 React.memo 避免不必要渲染
• 資料分頁載入
📊 專案統計
• 總代碼:~15,000 行
• 開發時間:3 個月
• 測試覆蓋率:85%
• 使用者數:500+
🔮 未來規劃
• [ ] 語音輸入功能
• [ ] AI 智能建議
• [ ] 行動 App (React Native)
• [ ] 整合 Google Calendar
📝 學到的東西
1. TypeScript 進階應用
o 泛型的實際運用
o 類型推斷優化
2. 狀態管理最佳實踐
o Redux Toolkit 的正確用法
o 何時用 Redux vs Context
3. 資料庫設計
o 正規化與反正規化的取捨
o 索引優化
4. DevOps 實踐
o Docker 容器化
o CI/CD 自動化流程
🤝 貢獻指南
歡迎提交 Issue 和 Pull Request!
📄 授權
MIT License - 可自由使用和修改
👤 關於作者
嗨!我是 [你的名字],一個熱愛寫程式的開發者。
• 🌐 作品集網站
• 💼 LinkedIn
• 📧 your.email@example.com
喜歡這個專案?給個 ⭐ 吧!
---
## **四、視覺元素提升**
### **1. 專案截圖**
```bash
# 建立 screenshots 目錄
mkdir screenshots
# 截圖建議
✅ 首頁/主要功能(必要)
✅ 特色功能展示(2-3 張)
✅ 手機版本(如果有 RWD)
✅ 不同狀態(載入中、錯誤、成功)
# 工具推薦
- Chrome DevTools(內建)
- Screely(加漂亮背景)
- Carbon(程式碼截圖)
2. Demo GIF/影片
# GIF 製作工具
- LICEcap(免費,跨平台)
- Kap(macOS,推薦)
- ScreenToGif(Windows)
# 建議
- 長度:10-30 秒
- 展示核心功能
- 畫質清晰
- 檔案大小 < 10MB
# 影片製作
- Loom(快速錄製)
- OBS(專業)
- 上傳到 YouTube
3. Badges(徽章)
# 在 README 開頭加上




# 產生器
https://shields.io/
________________________________________
五、專案優化清單
程式碼層面
□ 移除所有 console.log
□ 清理註解掉的程式碼
□ 統一程式碼風格(ESLint + Prettier)
□ 移除未使用的 imports
□ 優化變數命名
□ 加入必要的註解
□ 移除測試用的假資料
檔案結構
project/
├── .github/
│ └── workflows/
│ └── ci.yml
├── src/
│ ├── components/
│ ├── pages/
│ ├── utils/
│ └── ...
├── public/
├── screenshots/
├── .env.example # ✅ 必須有
├── .gitignore # ✅ 必須有
├── README.md # ✅ 必須有
├── LICENSE # ✅ 建議有
├── CONTRIBUTING.md # 如果接受貢獻
└── package.json
文件完整性
□ README.md(完整詳細)
□ .env.example(環境變數範本)
□ LICENSE(授權文件)
□ CONTRIBUTING.md(如果開源)
□ API 文件(如果有 API)
□ 註解清楚(關鍵邏輯)
________________________________________
六、提升專案可見度
1. GitHub Topics
在 Repo 設定中加入相關 Topics:
範例:Todo App
- react
- typescript
- todo-app
- productivity
- fullstack
範例:資料視覺化
- data-visualization
- d3js
- charts
- dashboard
2. Description
寫一個吸引人的簡短描述:
❌ 不好:A todo app
✅ 好的:🚀 Feature-rich todo app with real-time collaboration,
built with React & Node.js
要素:
- Emoji 吸睛
- 突出特色
- 提到技術棧
3. Website Link
如果有 Demo:
- 填入 Demo URL
- 確保可以訪問
- 最好有 HTTPS
4. Pinned Repositories
在個人首頁釘選最好的專案:
- 最多 6 個
- 選擇最完整的
- 展示不同技能
- 定期更新
________________________________________
七、作品集網站
簡單的 Portfolio 架構
# 首頁
## 關於我
簡短自我介紹(2-3 句)
## 技能
- 前端:React, Vue, TypeScript
- 後端:Node.js, Python, PostgreSQL
- 其他:Git, Docker, AWS
## 精選專案
### 專案 1
[截圖]
簡短描述
[GitHub] [Demo]
### 專案 2
[截圖]
簡短描述
[GitHub] [Demo]
### 專案 3
[截圖]
簡短描述
[GitHub] [Demo]
## 聯絡方式
- GitHub
- Email
- LinkedIn
快速建立 Portfolio
# 方法 1:使用 GitHub Pages
# 在 repo 啟用 GitHub Pages
# Settings → Pages → Source: main branch
# 方法 2:使用模板
# 推薦模板:
- https://github.com/bchiang7/v4 (Gatsby)
- https://github.com/cobidev/gatsby-simplefolio
- https://github.com/abhisheknaiidu/awesome-github-profile-readme
# 方法 3:使用現成服務
- https://portfolio.github.io/
- https://gitconnected.com/
________________________________________
八、專案展示技巧
說故事
不要只是列出功能,要講故事:
❌ 不好的說明:
"這是一個 Todo App,有增刪改查功能"
✅ 好的說明:
"發現現有的 Todo App 都無法滿足團隊協作需求,
於是我花了 3 個月,從零開始建立了這個支援
即時同步的協作 Todo App。
技術挑戰:
- 如何處理多人同時編輯?
→ 實作了 Operational Transformation
- 如何優化大量資料效能?
→ 使用虛擬滾動 + 分頁載入
結果:
- 500+ 活躍用戶
- 平均回應時間 < 100ms
- 測試覆蓋率 85%"
量化成果
用數字說話:
✅ 效能提升 50%
✅ 減少 80% 的重複程式碼
✅ 測試覆蓋率達到 90%
✅ 支援 10,000+ 並發用戶
✅ 獲得 500+ GitHub Stars
________________________________________
九、持續維護
# 保持活躍
□ 每週至少 3-5 commits
□ 定期更新專案
□ 回應 Issues
□ 審查 Pull Requests
# 綠色草皮(GitHub Contributions)
□ 持續貢獻
□ 參與開源專案
□ 寫技術文章(GitHub Gist)
# 展示學習能力
□ 學新技術時做小專案
□ 記錄學習過程
□ 分享踩雷經驗
________________________________________
十、作品集檢查清單
# 專案品質
□ 程式碼乾淨整齊
□ 功能完整可用
□ 沒有明顯 bug
□ 有錯誤處理
# 文件完整
□ README 詳細清楚
□ 有安裝說明
□ 有使用說明
□ 有截圖/Demo
# 視覺呈現
□ 有專案封面圖
□ 有功能截圖
□ 有 Demo GIF/影片
□ UI 設計美觀
# 技術展示
□ 使用現代技術
□ 有最佳實踐
□ 有測試
□ 有 CI/CD
# 可訪問性
□ Demo 網站可訪問
□ GitHub Repo 是 Public
□ 沒有敏感資訊
□ 環境變數有範本
# 個人品牌
□ 統一的命名風格
□ 專業的描述
□ 完整的個人資訊
□ 有聯絡方式
________________________________________
今日重點回顧
✅ 核心要點:
1. 專案選擇
- 3-5 個高品質專案
- 展示不同技能
- 功能完整
2. README 撰寫
- 清楚的結構
- 詳細的說明
- 視覺化呈現
3. 視覺優化
- 截圖
- GIF/影片
- Badges
4. 持續維護
- 定期更新
- 保持活躍
- 回應互動
記住:
質量 > 數量
完整 > 半成品
展示 > 隱藏
________________________________________
立即行動
# 今天就做(2 小時)
□ 挑選 3 個要展示的專案
□ 為每個專案建立完整 README
□ 加入截圖和 Demo
# 本週完成(5 小時)
□ 清理程式碼
□ 補充文件
□ 錄製 Demo 影片
□ Pinned repositories
□ 建立 Portfolio 網站(可選)
# README 模板(複製使用)
cat > README.md << 'EOF'
# 專案名稱
一句話描述

## 🚀 Demo
[線上 Demo](url)
## ✨ 功能特色
- 功能 1
- 功能 2
## 🛠️ 技術棧
列出技術
## 📦 安裝
```bash
安裝步驟
📸 截圖
放截圖
👤 作者
你的資訊 EOF
---
## **範例參考**
優秀的 GitHub Profiles:
• https://github.com/bchiang7
• https://github.com/abhisheknaiidu
• https://github.com/anuraghazra
優秀的專案 README:
• https://github.com/sindresorhus/awesome
• https://github.com/trekhleb/javascript-algorithms
• https://github.com/kamranahmedse/developer-roadmap
Portfolio 靈感:
• https://brittanychiang.com/
• https://jacekjeznach.com/
• https://mattfarley.ca/