30 天走到最後。系統已經有登入、AI 生成計畫、排程提醒、測試和雲端部署,但別人看不懂怎麼用、怎麼跑起來,它就只能待在電腦裡。
今天不寫新功能,只做三件事:寫一份能讓新人快速上手的 README、畫一張架構圖、把端對端流程走一遍。最後回頭看 30 天的收穫。
README 是專案首頁,至少要回答四個問題:這是什麼、能做什麼、怎麼跑、怎麼部署。
專案簡介
用 FastAPI 做後端、Next.js 做前端、LangGraph 做 Agent,搭配本機 Ollama 模型。不依賴雲端 LLM API,資料留在自己的機器上。
核心功能
快速開始
# 1. 準備模型
ollama pull llama3.1:8b
# 2. 後端
cd backend && pip install -r requirements.txt && uvicorn main:app --reload
# 3. 前端
cd frontend && npm install && npm run dev
後端跑在 http://localhost:8000,前端跑在 http://localhost:3000。
已知限制
完整的架構說明放在 ARCHITECTURE.md,演示步驟放在 DEMO.md。
用戶瀏覽器 (Next.js)
│ HTTP
▼
FastAPI API 層
┌────────────┼─────────────┐
▼ ▼ ▼
業務邏輯 認證 (JWT) 排程 (APScheduler)
│
▼
Agent 層 (LangGraph) ──▶ Ollama (本機 LLM)
│
▼
資料庫 (SQLite / PostgreSQL)
這張圖回答三個問題:請求從哪裡進來、業務邏輯交給誰、資料存在哪裡。
從註冊到看到儀表板,大概 9 個階段:
完整步驟寫在 DEMO.md,這篇只留流程。
1. 測試抓到手動測試漏掉的 bug
Day 28 補測試時,發現權限檢查漏了某個端點,用戶 A 能看到用戶 B 的資料。手動點過去完全看不出來。
2. 部署環境和本機不一樣
Day 29 上 Render 時,SECRET_KEY 寫死在程式裡、CORS 沒設定、資料庫路徑也不對。教訓是設定要用環境變數,越早測部署,越不會最後才出事。
3. 寫文件會逼自己想清楚
README 和架構文件看起來只是整理,但寫的時候要解釋「為什麼」,才發現有些決策沒有想透。
30 天,一個人,一個想法,變成一套能跑、能部署、能讓別人看懂的系統。不完美,但可以用。