課程資源
資源與下載
各週需要的檔案、模板與參考解答。學生練習包可以直接從下方下載;教師版解答與參考解答不放在網站上,只由授課老師保管。
下載練習包
下載後解壓縮,用 Antigravity 開啟資料夾。每一課的派課室線下練習卡上也有同樣的下載按鈕。
| 練習包 | 內容 | 下載 |
|---|---|---|
| 專案工具包 | 提案書、時程、週誌、測試紀錄、Demo、回顧(Word 與 Markdown) | toolkit.zip |
| Antigravity 課程套件 | AGENTS.md、三個 skill、自建 skill 範本 | antigravity-kit.zip |
| W1 Vibe Coding 入門 | grades_ai版.py、scores.csv、測試起始檔、學習單 | s3-1-1.zip |
| W2 六步建站法 | PROJECT 模板與範例、提示詞模板、學習單 | s3-1-2.zip |
| W3–5 吃貨評分站 | foodie.db、schema.sql、seed.sql | s3-2-1.zip |
| W6–8 記帳網站 | 需求說明書、expenses_範例.csv | s3-3-1.zip |
| W10–11 社團報名平台 | 需求說明書(含示範帳號與活動) | s3-4-1.zip |
| W12–13 Next.js 吃貨站 | Postgres 版 schema、seed、.env.example | s3-5-1.zip |
| W14–15 AI 功能 | ai.py 起始檔(3 個 TODO)、假客戶端測試、.env.example | s3-6-1.zip |
練習包由 python tools/build_downloads.py 從 practice/ 自動產生,資料夾名稱含「教師版解答」「參考解答」的內容一律不會打包。修改練習檔後重新執行一次,再建置與推送即可。
模板(每個專案都會用到)
| 檔案 | 位置(課程資料夾) | 用途 |
|---|---|---|
| PROJECT_模板.md | practice/s3-1-2_六步建站法/ | 空白的專案說明書 |
| PROJECT_範例_吃貨評分站.md | practice/s3-1-2_六步建站法/ | 寫好的完整範例(第 4 週改名成 PROJECT.md 使用) |
| 提示詞模板.md | practice/s3-1-2_六步建站法/ | 六個步驟的提示詞與驗收清單 |
| 專案工具包(6 份 Word) | practice/專案工具包/ | 提案書、時程、週誌、測試紀錄、Demo、回顧 |
| Antigravity 課程套件 | practice/antigravity-kit/ | AGENTS.md 課程規則、三個 skill(存檔、推上 GitHub、上線前檢查)、自建 skill 範本。說明見 Git × GitHub × Vercel |
各週檔案
| 週次 | 檔案 | 位置 |
|---|---|---|
| W1 | grades_ai版.py、scores.csv、empty.csv、test_grades_起始.py、學習單 | practice/s3-1-1_VibeCoding入門/ |
| W2 | 學習單、上方三個模板 | practice/s3-1-2_六步建站法/ |
| W3 | foodie.db(12 間店、49 則評論) | practice/s3-2-1_吃貨評分站/資料/ |
| W4–5 | schema.sql、seed.sql | practice/s3-2-1_吃貨評分站/資料/ |
| W6–8 | 需求說明書、expenses_範例.csv(80 筆) | practice/s3-3-1_記帳網站/ |
| W10–11 | 需求說明書(含示範帳號與活動) | practice/s3-4-1_社團報名平台/ |
吃貨評分站的店名、地址、暱稱與評論全部是虛構的,店名刻意用 Python 名詞諧音(派森、縮排、布林……),避免變成對真實店家的評價。
教師版參考解答
| 內容 | 位置 | 驗證狀態 |
|---|---|---|
| 吃貨評分站完整網站(Flask + SQLite) | practice/s3-2-1_吃貨評分站/參考解答/foodie/ | 17 項 pytest 測試全過(Flask 3.1) |
| 記帳網站(Flask,SQLite/Postgres 雙資料庫) | practice/s3-3-1_記帳網站/參考解答/ledger-web/ | 14 項測試 × 2 種資料庫 = 28 項全過(PostgreSQL 18) |
| 社團活動報名平台(登入、權限、名額) | practice/s3-4-1_社團報名平台/參考解答/club-signup/ | 10 項測試 × 2 種資料庫 = 20 項全過 |
| 吃貨評分站 Next.js 版 | practice/s3-5-1_Nextjs吃貨站/參考解答/foodie-next/ | 10 項單元測試全過;瀏覽器實測與 Flask 版答案一致(Next.js 15.5) |
| 吃貨評分站+AI 評論摘要 | practice/s3-6-1_AI功能/參考解答/foodie-ai/ | 25 項測試全過(以假的 AI 客戶端測試,未實際呼叫 Gemini) |
| W1 成績程式修正版與測試 | practice/s3-1-1_VibeCoding入門/教師版解答/ | 測試全過,平均 75.7 |
cd foodie python -m venv .venv .venv\Scripts\activate # Mac:source .venv/bin/activate pip install -r requirements.txt pytest flask --app app init-db flask --app app run --debug # 打開 http://127.0.0.1:5000 python -m pytest -q # 17 passed
延伸閱讀
- Flask 官方文件:Quickstart 與 Tutorial 章節
- SQLite SQL 語法
- Pico.css:吃貨站使用的樣式,不需要寫 CSS 就有整齊的版面
- Google Antigravity 官方網站