Initial commit: secondary school grade archive system.

Add FastAPI/React app with Docker deployment, Ubuntu one-click install, and docs for junior/senior high score tracking and mistake bank.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
dekun
2026-06-28 11:18:58 +08:00
commit e329d3398a
76 changed files with 8506 additions and 0 deletions
+162
View File
@@ -0,0 +1,162 @@
# 使用说明
> **中学成绩档案系统**(初中 / 高中)
> 版权所有 © 马建军 · 微信 **dekun03** · 手机 **18364911125**
---
## 1. 系统简介
本系统面向**初中、高中**学生,提供:
- 多用户账号,数据互相隔离
- 学生档案管理(学段、年级、班级)
- 成绩录入:周考、月考、期末
- 分科成绩占比曲线(上升绿色、下降红色、大幅波动高亮)
- 错题库:拍照上传 → OCR 识别 → AI 生成解法(可编辑)
- 成绩 CSV 导出
部署方式见 [DEPLOY.md](./DEPLOY.md)。
---
## 2. 快速上手
### 2.1 登录与注册
1. 浏览器打开 `http://<服务器IP>:23566`
2. 首次使用点击 **注册**,设置用户名(≥3 字符)和密码(≥6 字符)
3. 注册成功后自动登录
> 系统无默认管理员账号,首个注册用户即为普通用户,数据仅本人可见。
### 2.2 添加学生
1. 首页点击 **添加学生**
2. 填写:
- **姓名**(必填)
- **学段**:初中 / 高中
- **年级**:初一~初三 或 高一~高三
- **班级**:如「3班」(可选)
3. 保存后在卡片上可看到学段标签
### 2.3 录入成绩
进入学生详情 → **成绩录入** 标签:
1. 点击 **录入成绩**
2. 选择 **考试类型**:周考 / 月考 / 期末
3. 选择 **考试日期**
4. 在表格中填写各科 **总分**、**得分**(未考科目可留空)
5. 系统自动计算 **占比**
6. 保存后在列表中可编辑或删除
**校验规则:**
- 总分必须 > 0
- 得分不能大于总分
- 至少录入一科成绩
---
## 3. 成绩分析
### 3.1 成绩总览
**成绩总览** 标签以表格展示历次考试各科得分与占比。
- 顶部 **波动预警** 会标记相邻两次占比变化 ≥ 8% 的考试
- 可横向滚动查看所有科目
### 3.2 分科曲线
**分科曲线** 标签:
1. 选择科目
2. 查看占比(%)随时间变化折线图
**图例说明:**
| 元素 | 含义 |
|------|------|
| 绿色线段 | 较上一次占比 **上升** |
| 红色线段 | 较上一次占比 **下降** |
| 橙色大圆点 | **大幅波动**(变化 ≥ 8% |
| Tooltip | 显示日期、考试类型、占比、较上次变化 |
---
## 4. 错题库
### 4.1 上传错题
进入 **错题库** 标签:
1. 选择 **科目**
2. 点击 **上传错题图片**(支持 jpg/png/webp,最大 10MB
3. 上传后后台自动:**OCR 识别 → AI 整理题目 → 生成解法**
4. 处理状态:处理中 → 已识别 → 已生成解法
> AI 解法依赖服务器上的 **Ollama**。未配置时仍可 OCR,解法需手动填写。
### 4.2 查看与编辑
点击错题卡片打开详情:
- **左侧**:原始试卷图片、OCR 原文
- **右侧**:识别题目、解法(均可编辑)
- **保存编辑**:手动修正后点击保存
- **重新 OCR**:识别不准时可重试
- **重新生成解法**:基于当前题目重新调用 AI
> 解法标注「AI 生成,请核对」,使用前请人工确认。
### 4.3 筛选与搜索
-**科目** 筛选
- **搜索** 题目/解法关键词
---
## 5. 数据导出
学生详情页点击 **导出 CSV**,下载该生全部成绩记录,可用 Excel 打开。
---
## 6. 预置科目
语文、数学、英语、物理、化学、生物、历史、地理、政治。
---
## 7. 常见问题
**Q:忘记密码怎么办?**
A:当前版本无找回密码功能,需管理员在数据库中重置或重新注册(生产环境建议后续增加找回流程)。
**Q:多人能否共用一台服务器?**
A:可以。每人注册独立账号,数据互不可见。
**Q:能否同时管理初中和高中孩子?**
A:可以。添加学生时分别选择学段即可。
**Q:换手机/电脑能否访问?**
A:可以。使用同一服务器地址与账号登录即可。
**QHTTPS 和域名怎么配置?**
A:本项目不包含反向代理配置,请参考 [DEPLOY.md 第 7 节](./DEPLOY.md#7-反向代理用户自行配置) 自行设置。
---
## 8. 技术支持与版权
| 项目 | 内容 |
|------|------|
| 作者 | 马建军 |
| 微信 | dekun03 |
| 手机 | 18364911125 |
| 仓库 | [secondary-school-grade-archive](https://git.bz121.com/dekun/secondary-school-grade-archive.git) |
使用本软件须遵守 [LICENSE](../LICENSE) 与 [COPYRIGHT.md](../COPYRIGHT.md)。
商业使用或二次分发请联系作者取得授权。