面向中小学班主任的班级综合管理平台,提供学生档案、考勤、表现记录、学分制管理、工作日志、课程表、座位编排等一站式班级管理功能。
| 层级 | 技术 |
|---|---|
| 前端框架 | Vue 3 + Element Plus |
| 构建工具 | Vite 5 |
| 后端框架 | FastAPI (Python 3) |
| ORM | SQLAlchemy 2.0 |
| 数据库 | SQLite(可切换 MySQL / PostgreSQL) |
| Markdown 编辑器 | @kangc/v-md-editor |
| 认证 | JWT(python-jose + passlib) |
- 学校管理 — 学校信息维护(仅管理员)
- 用户管理 — 班主任 / 教导主任账号管理(仅管理员/主任)
- 班级管理 — 班级信息维护
- 学生档案 — 学生基本信息、头像上传
- 考勤管理 — 每日上学/放学考勤,支持批量录入
- 学生表现 — 积极表现与消极表现记录,支持图片上传
- 师生谈心 — 谈心记录管理
- 返校记录 — 学生返校情况登记与统计
- 评语管理 — 学生评语编写
- 课程表 — 班级课程表管理,支持 Excel 批量导入/导出
- 座位管理 — 可视化座位编排,支持自动排座与历史记录
- 班级活动 — 活动记录,支持文件上传
- 学分管理 — 学生加减分记录,分数段统计(优秀/普通/需关注)
- 评分历史 — 查看与导出学生评分历史
- 工作日志 — 班主任每日工作日志,支持 Markdown 实时编辑与预览
- 班级计划总结 — 班级工作计划与总结
- 班主任计划总结 — 班主任个人工作计划与总结
Class_log/
├── backend/ # 后端(FastAPI)
│ ├── app/
│ │ ├── main.py # 应用入口
│ │ ├── database.py # 数据库连接
│ │ ├── models/ # 数据模型(SQLAlchemy)
│ │ ├── routes/ # API 路由
│ │ ├── schemas/ # Pydantic 请求/响应模型
│ │ ├── services/ # 业务逻辑(微信服务等)
│ │ ├── utils/ # 工具函数(安全/密码)
│ │ └── scripts/ # 数据脚本(初始化/测试数据)
│ ├── requirements.txt
│ └── run.py
├── frontend/ # 前端(Vue 3)
│ ├── src/
│ │ ├── views/ # 页面组件
│ │ ├── components/ # 公共组件(Markdown 编辑器等)
│ │ ├── router/ # 路由配置
│ │ ├── utils/ # API 封装、状态管理
│ │ ├── App.vue
│ │ └── main.js
│ ├── index.html
│ ├── vite.config.js
│ └── package.json
└── README.md
- Python 3.9+
- Node.js 18+
- npm 9+
cd backend
# 安装依赖
pip install -r requirements.txt
# 启动服务(默认端口 8080,支持热重载)
python run.py后端 API 文档:http://localhost:8080/docs
cd frontend
# 安装依赖
npm install
# 启动开发服务器(默认端口 5173)
npm run dev浏览器打开 http://localhost:5173
| 角色 | 权限范围 |
|---|---|
admin 超级管理员 |
可访问所有学校的数据 |
director 教导主任 |
可访问本校数据,管理用户 |
teacher 班主任 |
仅可访问所管班级的数据 |
后端提供了初始化脚本,用于创建测试账号和模拟数据:
cd backend
# 创建教导主任账号
python -m app.scripts.create_director_user
# 生成测试数据
python -m app.scripts.generate_fake_datacd frontend
# 构建生产版本
npm run build
# 预览构建结果
npm run preview构建产物输出到 frontend/dist/ 目录,可直接部署到 Nginx 等静态服务器。
- 后端端口:默认 8080,修改
backend/run.py中的port参数 - 前端端口:默认 5173,修改
frontend/vite.config.js中的server.port - API 代理:前端开发模式下通过 Vite 代理将
/api请求转发到后端,配置见vite.config.js - 数据库:默认使用 SQLite(
backend/app/database.py),可切换为 MySQL 或 PostgreSQL
| 模块 | 前缀 | 说明 |
|---|---|---|
| 认证 | /auth |
登录、注册、微信登录 |
| 学校 | /schools |
学校信息 CRUD |
| 用户 | /users |
用户 CRUD |
| 班级 | /classrooms |
班级 CRUD |
| 学生 | /students |
学生档案、头像上传 |
| 考勤 | /attendances |
考勤记录、批量录入 |
| 表现 | /performances |
学生表现记录 |
| 谈心 | /talks |
师生谈心记录 |
| 课程表 | /schedules |
课程表管理、批量导入 |
| 活动 | /activities |
班级活动管理 |
| 返校 | /return-records |
返校记录与统计 |
| 评语 | /comments |
学生评语 |
| 学分 | /scores |
评分记录、统计 |
| 工作日志 | /work-logs |
工作日志 CRUD |
| 班级计划 | /class-plans |
班级计划与总结 |
| 教师计划 | /teacher-plans |
班主任计划与总结 |
| 座位 | /seats |
座位管理 |
| 座位历史 | /seat-histories |
排座历史与自动排座 |