Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

班级日志管理系统

面向中小学班主任的班级综合管理平台,提供学生档案、考勤、表现记录、学分制管理、工作日志、课程表、座位编排等一站式班级管理功能。

技术栈

层级 技术
前端框架 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+

1. 启动后端

cd backend

# 安装依赖
pip install -r requirements.txt

# 启动服务(默认端口 8080,支持热重载)
python run.py

后端 API 文档:http://localhost:8080/docs

2. 启动前端

cd frontend

# 安装依赖
npm install

# 启动开发服务器(默认端口 5173)
npm run dev

3. 访问系统

浏览器打开 http://localhost:5173

用户角色与权限

角色 权限范围
admin 超级管理员 可访问所有学校的数据
director 教导主任 可访问本校数据,管理用户
teacher 班主任 仅可访问所管班级的数据

初始化数据

后端提供了初始化脚本,用于创建测试账号和模拟数据:

cd backend

# 创建教导主任账号
python -m app.scripts.create_director_user

# 生成测试数据
python -m app.scripts.generate_fake_data

构建部署

cd 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

API 接口概览

模块 前缀 说明
认证 /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 排座历史与自动排座

About

班级日志

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages