一个基于 Flask 的现代化教学大纲管理系统,采用 OneNote 风格的高端界面设计。
-
教学计划管理 (
/admin/curriculum_admin)- 上传 Excel 格式的教学计划文件
- 自动映射列名(通过
config/curriculum_column_name_map.json) - 智能检测和处理重复记录
- 按年级和专业筛选课程
- 为课程分配教师
-
教师管理 (
/admin/teacher_admin)- 批量上传教师信息
- 自动检测和处理重复教师记录
- 查看所有教师列表
-
进度查看 (
/admin/task_progress)- 按年级、专业、院系筛选
- 查看每位教师的任务完成进度
- 可视化进度条显示
-
任务列表 (
/teacher/task)- 查看所有分配的课程
- 实时显示每个课程的完成进度
- 快速进入编辑页面
-
教学大纲填写 (
/teacher/syllabus_input)- 填写 5 个模块的教学大纲内容:
- 课程基本信息
- 课程成果
- 课程内容
- 课程评估
- 评估标准
- 支持单独保存每个模块
- 完成度标记功能
- 填写 5 个模块的教学大纲内容:
- 后端: Flask + SQLAlchemy
- 前端: Bootstrap 5 + Font Awesome + jQuery
- 数据库: SQLite (可扩展)
- 文件处理: Pandas + openpyxl
cd /home/ubuntu/syllabus_system
pip install -r requirements.txtpython app.py系统会自动创建数据库表。
python app.py访问: http://localhost:5003
管理员账号:
- 用户名:
admin - 密码:
Admin@123456
-
teacher_info - 教师信息表
- teacher_id (主键)
- teacher_name
- password
- department
-
curriculum - 教学计划表
- year, major, course_id (联合索引)
- course_name, credit_number, credit_hours
- teacher_id (外键)
- extra_data (扩展字段,JSON 格式)
-
course_basic - 课程基本信息
-
course_outcome - 课程成果
-
course_content - 课程内容
-
course_evaluation - 课程评估
-
evaluation_criteria - 评估标准
所有教学大纲表都包含:
- year, major, course_id (联合索引)
- teacher_id (外键)
- is_completed (完成标记)
- extra_fields (扩展字段,JSON 格式)
config/admin.json- 管理员信息(不可外部修改)config/curriculum_column_name_map.json- Excel 列名映射
syllabus_system/
├── app.py # 主应用入口
├── config.py # 配置文件
├── models.py # 数据模型
├── requirements.txt # 依赖包
├── config/ # 配置目录
├── modules/ # 功能模块
│ ├── admin/ # 管理员模块
│ ├── teacher/ # 教师模块
│ └── common/ # 公共模块
├── templates/ # HTML 模板
│ ├── admin/
│ ├── teacher/
│ └── common/
├── static/ # 静态资源
│ ├── css/
│ └── js/
└── instance/ # 实例数据(数据库等)
系统设计充分考虑了扩展性:
- 数据库扩展: 所有表都包含
extra_fields字段(JSON 格式),可随时添加新字段而不影响现有结构 - 列名映射: 通过 JSON 配置文件管理 Excel 列名映射,易于修改
- 模块化设计: 采用 Blueprint 架构,易于添加新功能模块
- 前后端分离: API 采用 JSON 格式交互,便于前端升级
- 登录系统
- 上传教学计划 Excel 文件
- 上传教师信息 Excel 文件
- 筛选课程并为每门课程分配教师
- 在"进度查看"页面监控教师完成情况
- 使用教师账号登录
- 在"我的任务"页面查看分配的课程
- 点击课程进入"教学大纲填写"页面
- 逐个模块填写教学大纲内容
- 标记已完成的模块
- Excel 文件必须为
.xlsx格式 - 教师信息 Excel 必须包含:teacher_id, teacher_name, password, department, email
- 教学计划的列名需要在
curriculum_column_name_map.json中配置 - 只有已分配教师的课程才会显示在教师的任务列表中
系统基于 OneNote 风格设计,提供高端大气的用户界面体验。
MIT License