从静态到全栈 —— Project Dashboard 部署 + VPS Monitor 完善
八、下一步
8.1 Project Dashboard 全栈化
现在 3004 是静态 demo(数据在浏览器内存)。下一步:
- 加 MySQL(VPS Docker)
- 加后端 API(Codex 开发)
- 数据持久化(多设备同步)
- AI 集成(n8n 自动创建任务)
分工:Codex 在本地开发(UI + API + DB),我(Claude)在 VPS 部署,通过 GitHub + SQL 导出同步。
8.1.1 给 Codex 的需求清单(10 个问题)
我把开发任务交给 Codex(本地 Mac),需要它先回答以下 10 个问题,我才能准备 VPS 环境。
Q1. 后端技术栈
- A. Node.js + Express
- B. Node.js + Fastify
- C. Python + FastAPI
- D. 其他(说明)
请说明:依赖包、启动命令。
Q2. 后端端口
- A. 3100(推荐,VPS 未占用)
- B. 其他
约定:只监听 127.0.0.1,由 Nginx 反代。
Q3. 数据库
- A. MySQL 8.0(推荐)
- B. MariaDB
- C. PostgreSQL
- D. SQLite
请提供 schema.sql 和 seed.sql。
Q4. 数据库连接
DB_HOST=127.0.0.1
DB_PORT=3306
DB_NAME=projects
DB_USER=app
DB_PASS=(Claude 生成)
请确认是否用 .env,环境变量名。
Q5. API 端点
GET /api/projects
POST /api/projects
PUT /api/projects/:id
DELETE /api/projects/:id
GET /api/issues
POST /api/issues
PUT /api/issues/:id
DELETE /api/issues/:id
GET /api/milestones
POST /api/milestones
PUT /api/milestones/:id
DELETE /api/milestones/:id
GET /api/notes
POST /api/notes
PUT /api/notes/:id
DELETE /api/notes/:id
GET /api/activity
请确认端点,提供 JSON schema。
Q6. 前端改造
当前 dist/app.js 硬编码数据,需改成从 API 拉。请确认是你改造,还是 Claude 改造。
Q7. 认证
- A. 不需要(只 Tailscale)
- B. Basic Auth(Nginx 层)
- C. JWT(应用层)
Q8. 部署文件
package.json/requirements.txt.env.exampleREADME.mddb/schema.sqldb/seed.sql
Q9. 目录结构
project-dashboard/
├── dist/ ← 前端(保留)
├── api/ ← 后端(新建)
│ ├── server.js
│ ├── routes/
│ └── db.js
├── db/
│ ├── schema.sql
│ └── seed.sql
├── .env.example
└── README.md
Q10. 其他需求
- 特殊依赖?(Redis、消息队列)
- 定时任务?
- 文件上传?
- 日志?(winston、pino)
- CORS?
输出格式:请按 Q1-Q10 逐条回答,附上所有文件。
8.1.2 三方协作流程
Mac(本地) VPS(生产)
├─ Codex 开发 UI + API ├─ Claude 部署
├─ Codex 开发 MySQL 结构 ├─ MySQL Docker
├─ 本地测试 ├─ API 集成
├─ 导出 SQL(schema+data) ├─ 导入 SQL
↓ ↑
└────── GitHub ──────────────┘
| 角色 | 任务 | 环境 |
|---|---|---|
| 我 | 决策、协调、测试 | — |
| Codex | UI 开发 + MySQL(本地) | Mac |
| Claude | 部署、集成、MySQL(VPS) | VPS |
| GitHub | 代码同步 | 云 |
| SQL 导出/导入 | 数据同步 | — |
8.1.3 关键约定
| 项 | 约定 |
|---|---|
| 后端端口 | 3100 |
| 监听地址 | 127.0.0.1(不对外) |
| MySQL | Docker(mysql:8.0,端口 3306) |
| 数据库名 | projects |
| 用户名 | app |
| 密码 | .env(Claude 生成) |
| Nginx | 反代 /api/ → 3100 |
| 前端 | 保留 dist/ |
8.2 golforfun.net 变现
我的主线目标:6 个月内验证 golforfun.net 能赚钱。上次分析发现 Page not found 占 33% 流量,需要修 404 + 装 SEO 插件 + 写内容。
