Skip to content

extradimen/syllabus_system

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

71 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

教学大纲管理系统

一个基于 Flask 的现代化教学大纲管理系统,采用 OneNote 风格的高端界面设计。

功能特性

管理员功能

  1. 教学计划管理 (/admin/curriculum_admin)

    • 上传 Excel 格式的教学计划文件
    • 自动映射列名(通过 config/curriculum_column_name_map.json
    • 智能检测和处理重复记录
    • 按年级和专业筛选课程
    • 为课程分配教师
  2. 教师管理 (/admin/teacher_admin)

    • 批量上传教师信息
    • 自动检测和处理重复教师记录
    • 查看所有教师列表
  3. 进度查看 (/admin/task_progress)

    • 按年级、专业、院系筛选
    • 查看每位教师的任务完成进度
    • 可视化进度条显示

教师功能

  1. 任务列表 (/teacher/task)

    • 查看所有分配的课程
    • 实时显示每个课程的完成进度
    • 快速进入编辑页面
  2. 教学大纲填写 (/teacher/syllabus_input)

    • 填写 5 个模块的教学大纲内容:
      • 课程基本信息
      • 课程成果
      • 课程内容
      • 课程评估
      • 评估标准
    • 支持单独保存每个模块
    • 完成度标记功能

技术栈

  • 后端: Flask + SQLAlchemy
  • 前端: Bootstrap 5 + Font Awesome + jQuery
  • 数据库: SQLite (可扩展)
  • 文件处理: Pandas + openpyxl

安装说明

1. 安装依赖

cd /home/ubuntu/syllabus_system
pip install -r requirements.txt

2. 初始化数据库

python app.py

系统会自动创建数据库表。

3. 启动服务

python app.py

访问: http://localhost:5003

默认登录信息

管理员账号:

  • 用户名: admin
  • 密码: Admin@123456

数据库设计

核心表

  1. teacher_info - 教师信息表

    • teacher_id (主键)
    • teacher_name
    • password
    • department
    • email
  2. curriculum - 教学计划表

    • year, major, course_id (联合索引)
    • course_name, credit_number, credit_hours
    • teacher_id (外键)
    • extra_data (扩展字段,JSON 格式)
  3. course_basic - 课程基本信息

  4. course_outcome - 课程成果

  5. course_content - 课程内容

  6. course_evaluation - 课程评估

  7. 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/             # 实例数据(数据库等)

扩展性设计

系统设计充分考虑了扩展性:

  1. 数据库扩展: 所有表都包含 extra_fields 字段(JSON 格式),可随时添加新字段而不影响现有结构
  2. 列名映射: 通过 JSON 配置文件管理 Excel 列名映射,易于修改
  3. 模块化设计: 采用 Blueprint 架构,易于添加新功能模块
  4. 前后端分离: API 采用 JSON 格式交互,便于前端升级

使用流程

管理员工作流

  1. 登录系统
  2. 上传教学计划 Excel 文件
  3. 上传教师信息 Excel 文件
  4. 筛选课程并为每门课程分配教师
  5. 在"进度查看"页面监控教师完成情况

教师工作流

  1. 使用教师账号登录
  2. 在"我的任务"页面查看分配的课程
  3. 点击课程进入"教学大纲填写"页面
  4. 逐个模块填写教学大纲内容
  5. 标记已完成的模块

注意事项

  1. Excel 文件必须为 .xlsx 格式
  2. 教师信息 Excel 必须包含:teacher_id, teacher_name, password, department, email
  3. 教学计划的列名需要在 curriculum_column_name_map.json 中配置
  4. 只有已分配教师的课程才会显示在教师的任务列表中

开发者

系统基于 OneNote 风格设计,提供高端大气的用户界面体验。

License

MIT License

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors