docs: 精简文档,只保留核心测试和详细需求
This commit is contained in:
112
DEV_GUIDE.md
112
DEV_GUIDE.md
@@ -1,112 +0,0 @@
|
||||
# 日记系统 - 开发规范
|
||||
|
||||
## ⚠️ 血泪教训(2026-04-15)
|
||||
|
||||
**问题**:修改前端时丢失了已有的日历功能
|
||||
|
||||
**原因**:
|
||||
1. 没有先查看现有代码
|
||||
2. 没有功能清单对照
|
||||
3. 直接在 main 分支修改
|
||||
4. 修改后没有验证所有功能
|
||||
|
||||
---
|
||||
|
||||
## 📋 修改代码前的必须步骤
|
||||
|
||||
### 1. 查看当前功能清单
|
||||
```bash
|
||||
# 查看 git 历史了解功能演进
|
||||
git log --oneline -20
|
||||
|
||||
# 查看当前有哪些文件
|
||||
git ls-files
|
||||
|
||||
# 查看最近的改动
|
||||
git diff HEAD~5
|
||||
```
|
||||
|
||||
### 2. 备份当前版本
|
||||
```bash
|
||||
# 创建备份分支
|
||||
git branch backup-$(date +%Y%m%d-%H%M)
|
||||
|
||||
# 或者至少复制关键文件
|
||||
cp frontend/index.html frontend/index.html.bak
|
||||
```
|
||||
|
||||
### 3. 使用分支开发
|
||||
```bash
|
||||
# 创建功能分支
|
||||
git checkout -b feature/xxx
|
||||
|
||||
# 开发完成后合并
|
||||
git checkout main
|
||||
git merge feature/xxx
|
||||
```
|
||||
|
||||
### 4. 修改后验证清单
|
||||
- [ ] 日历组件是否正常
|
||||
- [ ] 统计面板数据是否正确
|
||||
- [ ] Tab 切换是否正常
|
||||
- [ ] API 接口是否可用
|
||||
- [ ] 云服务器是否同步
|
||||
|
||||
---
|
||||
|
||||
## 📁 必须维护的文档
|
||||
|
||||
### 1. FEATURES.md - 功能清单
|
||||
记录所有已实现的功能,每次修改前对照检查。
|
||||
|
||||
### 2. CHANGELOG.md - 变更日志
|
||||
记录每次修改的内容,便于回滚。
|
||||
|
||||
### 3. API.md - 接口文档
|
||||
记录所有 API 接口,避免删除后端接口。
|
||||
|
||||
---
|
||||
|
||||
## 🔄 标准开发流程
|
||||
|
||||
```
|
||||
1. 查看功能清单 (FEATURES.md)
|
||||
↓
|
||||
2. 创建备份分支
|
||||
↓
|
||||
3. 创建功能分支开发
|
||||
↓
|
||||
4. 本地测试所有功能
|
||||
↓
|
||||
5. 同步到测试环境验证
|
||||
↓
|
||||
6. 合并到 main
|
||||
↓
|
||||
7. 部署到生产环境
|
||||
↓
|
||||
8. 更新功能清单
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🛑 禁止操作
|
||||
|
||||
- ❌ 直接覆盖 `index.html` 而不查看原有内容
|
||||
- ❌ 在 main 分支直接开发新功能
|
||||
- ❌ 修改后不验证就部署
|
||||
- ❌ 删除文件前不确认是否还在使用
|
||||
|
||||
---
|
||||
|
||||
## ✅ 推荐操作
|
||||
|
||||
- ✅ 小步迭代,每次只改一个功能
|
||||
- ✅ 使用 `git diff` 查看改动
|
||||
- ✅ 修改前后截图对比
|
||||
- ✅ 保持向后兼容
|
||||
- ✅ 不确定时先问用户
|
||||
|
||||
---
|
||||
|
||||
_最后更新:2026-04-15_
|
||||
_创建原因:防止再次丢失已有功能_
|
||||
142
FEATURES.md
142
FEATURES.md
@@ -1,142 +0,0 @@
|
||||
# 日记系统 - 功能清单
|
||||
|
||||
_最后更新:2026-04-15_
|
||||
|
||||
---
|
||||
|
||||
## ✅ 已实现功能
|
||||
|
||||
### 后端 API
|
||||
|
||||
#### 日记模块 (`/api/entries/`)
|
||||
- [x] `GET /` - 获取所有日记
|
||||
- [x] `GET /{id}/` - 获取单条日记
|
||||
- [x] `POST /` - 创建日记
|
||||
- [x] `PUT /{id}/` - 更新日记
|
||||
- [x] `DELETE /{id}/` - 删除日记
|
||||
- [x] `GET /today/` - 获取今天的日记
|
||||
- [x] `GET /recent/` - 获取最近 7 天的日记
|
||||
- [x] `GET /stats/` - 获取统计信息
|
||||
|
||||
#### 经验总结模块 (`/api/experiences/`)
|
||||
- [x] `GET /` - 获取所有经验
|
||||
- [x] `GET /{id}/` - 获取单条经验
|
||||
- [x] `POST /` - 创建经验
|
||||
- [x] `PUT /{id}/` - 更新经验
|
||||
- [x] `DELETE /{id}/` - 删除经验
|
||||
- [x] `GET /recent/` - 获取最近 10 条经验
|
||||
- [x] `GET /by_category/` - 按类别分组
|
||||
|
||||
#### 进度追踪模块 (`/api/progress/`)
|
||||
- [x] `GET /` - 获取所有进度
|
||||
- [x] `GET /{id}/` - 获取单条进度
|
||||
- [x] `POST /` - 创建进度
|
||||
- [x] `PUT /{id}/` - 更新进度
|
||||
- [x] `DELETE /{id}/` - 删除进度
|
||||
|
||||
### 前端页面
|
||||
|
||||
#### 统计面板
|
||||
- [x] 总日记数
|
||||
- [x] 总任务数
|
||||
- [x] 进行中任务
|
||||
- [x] 已完成任务
|
||||
- [x] 完成率
|
||||
- [x] 经验总结数
|
||||
|
||||
#### 日历组件 ⭐
|
||||
- [x] 月历视图
|
||||
- [x] 有日记的日期标记 📝
|
||||
- [x] 今天高亮显示
|
||||
- [x] 点击日期查看详情
|
||||
- [x] 上月/下月切换
|
||||
- [x] 星期标题
|
||||
|
||||
#### Tab 切换
|
||||
- [x] 工作任务 Tab
|
||||
- [x] 日记 Tab
|
||||
- [x] 经验总结 Tab
|
||||
|
||||
#### 日记展示
|
||||
- [x] 日历视图(主视图)
|
||||
- [x] 列表视图
|
||||
- [x] 详情展示
|
||||
- [x] 日期选择
|
||||
|
||||
#### 经验总结展示
|
||||
- [x] 列表展示
|
||||
- [x] 分类标签
|
||||
- [x] 问题/解决方案格式
|
||||
- [x] 经验教训高亮
|
||||
|
||||
### 数据模型
|
||||
|
||||
#### DiaryEntry
|
||||
- [x] date - 日期
|
||||
- [x] title - 标题
|
||||
- [x] completed_tasks - 完成的任务
|
||||
- [x] learned - 学到的东西
|
||||
- [x] problems - 遇到的问题
|
||||
- [x] reflections - 想法和反思
|
||||
- [x] improvements - 进步点
|
||||
- [x] plans - 明日计划
|
||||
- [x] created_at - 创建时间
|
||||
- [x] updated_at - 更新时间
|
||||
|
||||
#### Experience
|
||||
- [x] title - 标题
|
||||
- [x] category - 类别(deployment/development/database/permission/network/other)
|
||||
- [x] problem - 问题描述
|
||||
- [x] solution - 解决方案
|
||||
- [x] lesson_learned - 经验教训
|
||||
- [x] date - 日期
|
||||
- [x] created_at - 创建时间
|
||||
|
||||
#### DailyProgress
|
||||
- [x] entry - 关联日记
|
||||
- [x] category - 类别
|
||||
- [x] description - 描述
|
||||
- [x] progress_percent - 进度百分比
|
||||
- [x] created_at - 创建时间
|
||||
|
||||
### 部署
|
||||
|
||||
#### 本地部署
|
||||
- [x] Gunicorn 服务(端口 8002)
|
||||
- [x] Nginx 反向代理(端口 8001)
|
||||
- [x] PostgreSQL 数据库
|
||||
|
||||
#### 云服务器部署
|
||||
- [x] Gunicorn systemd 服务
|
||||
- [x] Nginx 反向代理
|
||||
- [x] SQLite 数据库
|
||||
- [x] 访问地址:http://cssc.datalibstar.com:8001/
|
||||
|
||||
---
|
||||
|
||||
## 🚧 计划功能
|
||||
|
||||
- [ ] 日记创建/编辑表单
|
||||
- [ ] 经验总结创建表单
|
||||
- [ ] 搜索功能
|
||||
- [ ] 数据导出(Markdown)
|
||||
- [ ] 用户认证
|
||||
- [ ] 数据备份
|
||||
|
||||
---
|
||||
|
||||
## 📝 修改检查清单
|
||||
|
||||
每次修改代码前,对照此清单确保不丢失功能:
|
||||
|
||||
- [ ] 日历组件是否正常
|
||||
- [ ] 统计面板数据是否正确
|
||||
- [ ] Tab 切换是否正常
|
||||
- [ ] 日记列表是否显示
|
||||
- [ ] 经验总结是否显示
|
||||
- [ ] API 接口是否可用
|
||||
- [ ] 云服务器是否同步更新
|
||||
|
||||
---
|
||||
|
||||
_此文档必须在每次功能变更后更新_
|
||||
@@ -1,111 +0,0 @@
|
||||
# 前端修改检查清单
|
||||
|
||||
_⚠️ **每次修改前端代码前必须阅读,修改后必须逐项验证**_
|
||||
|
||||
---
|
||||
|
||||
## 📋 修改前准备
|
||||
|
||||
- [ ] 已查看 `FEATURES.md` 了解所有已实现功能
|
||||
- [ ] 已查看当前 `index.html` 的完整代码
|
||||
- [ ] 已创建 git 备份分支:`git branch backup-$(date +%Y%m%d-%H%M)`
|
||||
- [ ] 已在功能分支开发:`git checkout -b feature/xxx`
|
||||
|
||||
---
|
||||
|
||||
## ✅ 修改后验证清单
|
||||
|
||||
### 核心功能(P0 - 必须全部通过)
|
||||
|
||||
#### 1. 日历组件 ⭐⭐⭐ **最重要**
|
||||
- [ ] 日历正常显示当前月份
|
||||
- [ ] 星期标题显示(日一二三四五六)
|
||||
- [ ] 今天的日期高亮显示
|
||||
- [ ] 有日记的日期显示 📝 图标
|
||||
- [ ] **点击日期能显示当天日记**(最关键!)
|
||||
- [ ] 无日记的日期显示友好提示
|
||||
- [ ] 上月按钮正常工作
|
||||
- [ ] 下月按钮正常工作
|
||||
- [ ] 非当月日期灰色显示
|
||||
|
||||
**测试方法**:
|
||||
```bash
|
||||
# 1. 打开页面 http://cssc.datalibstar.com:8001/
|
||||
# 2. 检查日历是否正常显示
|
||||
# 3. 点击今天的日期,查看日记详情
|
||||
# 4. 点击有日记的其他日期
|
||||
# 5. 点击没有日记的日期
|
||||
# 6. 切换上月/下月
|
||||
```
|
||||
|
||||
#### 2. 统计面板
|
||||
- [ ] 总日记数显示正确
|
||||
- [ ] 总任务数显示正确
|
||||
- [ ] 进行中任务数显示正确
|
||||
- [ ] 已完成任务数显示正确
|
||||
- [ ] 完成率显示正确
|
||||
- [ ] 经验总结数显示正确
|
||||
|
||||
**测试方法**:
|
||||
```bash
|
||||
curl http://cssc.datalibstar.com:8001/api/entries/stats/
|
||||
curl http://cssc.datalibstar.com:8001/api/experiences/recent/
|
||||
```
|
||||
|
||||
#### 3. Tab 切换
|
||||
- [ ] 工作任务 Tab 正常切换
|
||||
- [ ] 日记 Tab 正常切换
|
||||
- [ ] 经验总结 Tab 正常切换
|
||||
- [ ] 切换后内容正确显示
|
||||
|
||||
**测试方法**:
|
||||
```bash
|
||||
# 1. 打开页面
|
||||
# 2. 依次点击每个 Tab
|
||||
# 3. 检查内容是否正确切换
|
||||
```
|
||||
|
||||
#### 4. 日记列表
|
||||
- [ ] 日记列表正常显示
|
||||
- [ ] 每条日记显示日期
|
||||
- [ ] 日记内容完整显示(完成任务、学到的东西等)
|
||||
|
||||
#### 5. 经验总结列表
|
||||
- [ ] 经验总结正常显示
|
||||
- [ ] 分类标签显示正确
|
||||
- [ ] 问题/解决方案格式正确
|
||||
- [ ] 经验教训高亮显示
|
||||
|
||||
---
|
||||
|
||||
## 🚨 禁止操作
|
||||
|
||||
- [ ] ❌ 直接覆盖 `index.html` 而不查看原有内容
|
||||
- [ ] ❌ 删除任何 `<script>` 中的函数而不确认是否使用
|
||||
- [ ] ❌ 修改 API 调用 URL 而不检查后端是否存在
|
||||
- [ ] ❌ 删除 CSS 样式而不确认是否影响布局
|
||||
- [ ] ❌ 修改后不验证就部署
|
||||
|
||||
---
|
||||
|
||||
## 📝 验证记录
|
||||
|
||||
**修改日期**: ___________
|
||||
**修改人**: ___________
|
||||
**修改内容**: ___________
|
||||
|
||||
**验证结果**:
|
||||
- [ ] 日历组件验证通过
|
||||
- [ ] 统计面板验证通过
|
||||
- [ ] Tab 切换验证通过
|
||||
- [ ] 日记列表验证通过
|
||||
- [ ] 经验总结验证通过
|
||||
|
||||
**发现问题**: ___________
|
||||
**修复情况**: ___________
|
||||
|
||||
**验证人签字**: ___________
|
||||
|
||||
---
|
||||
|
||||
_此清单必须打印出来,每次修改前端时逐项勾选并签字确认_
|
||||
1208
frontend/index.html
1208
frontend/index.html
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user