# 班级操行分管理系统 基于 Python FastAPI 开发的班级操行分管理系统,支持学生端、管理端、家长端三端访问,实现操行分管理、作业提交跟踪、考勤记录等功能。 ## 主要功能 ### 学生端 - 查询个人当前操行总分 - 查看个人加减分历史明细(时间、分数变化、原因、操作人) - 查看个人作业提交情况 - 查看个人考勤记录 - 修改个人登录密码(首次登录强制修改) ### 家长端 - 查询子女当前操行总分 - 查看子女考勤记录 ### 管理端 **班主任权限:** - 学生管理:新增/编辑/删除学生、批量导入学生(JSON) - 操行分管理:对学生进行加减分、撤销任何扣分记录、查看全班历史记录 - 作业管理:发布作业、查看提交情况 - 考勤管理:查看全班考勤记录 - 科目管理:动态增删学科 - 管理员管理:添加班长/科代表/考勤委员/劳动委员 **班长权限:** - 操行分管理:对学生进行加减分(±5分以内)、撤销任何人的扣分记录、查看全班历史记录 **学习委员权限:** - 作业管理:更新作业提交状态、关联扣分(仅扣分,按规则) - 科目管理:动态增删学科 - 历史记录:仅查看自己提交的操作记录 **考勤委员权限:** - 考勤管理:记录考勤状态、关联扣分(仅扣分,按规则) - 历史记录:仅查看自己提交的操作记录 **劳动委员权限:** - 操行分管理:以卫生值日为理由进行加减分(固定 ±1 分) - 历史记录:仅查看自己提交的操作记录 ## 技术栈 | 层级 | 技术 | 版本 | |------|------|------| | 后端框架 | FastAPI | 0.104+ | | 数据库 | MySQL | 5.7 | | 缓存 | Redis | 7.x | | 前端 | PHP | 8.0 | | Web服务器 | Nginx | 1.28+ | ## 角色权限一览表 | 角色 | 操行分查看 | 操行分加减 | 撤销扣分 | 历史记录查看 | |------|-----------|-----------|---------|-------------| | 班主任 | 全班 | 无限制 | 可撤销任何记录 | 全班所有记录 | | 班长 | 全班 | ±5分 | 可撤销任何记录 | 全班所有记录 | | 学习委员 | 全班 | 仅扣分(按规则) | 不可撤销 | 仅自己提交的 | | 考勤委员 | 全班 | 仅扣分(按规则) | 不可撤销 | 仅自己提交的 | | 劳动委员 | 全班 | 仅±1分(卫生值日) | 不可撤销 | 仅自己提交的 | | 学生 | 自己 | 无 | 无 | 自己的历史 | | 家长 | 子女总分 | 无 | 无 | 不可见详情 | ## 安装部署 详见 [INSTALL.md](INSTALL.md) ## 使用说明 学生端详见 [student.md](docs/student.md) 家长端详见 [parent.md](docs/parent.md) 管理端详见 [admin.md](docs/admin.md) ## 许可证 本项目使用 [MIT License](LICENSE) 许可证