/allumettre-back-end

SIAE课程管理系统[Allumettre]

Primary LanguagePython

Allumettre —— SIAE课程管理系统

基于 Django框架 的后端

项目背景

  • 目前用Excel排课,更新过程繁琐且易错;
  • 目前预科阶段公示课表是通过发布Excel的方式;
  • 目前工程师阶段课表系统 unidee/kb 是一个分组式图片展示网站,用于公示Excel制成的课表。

项目目标

  • 对于教务科老师
    • 使用数据库管理可以极大地减少信息冗余,排课更加方便;
    • 会根据已有课程筛选教室,杜绝多节课同时排在同一教室的问题;
    • 信息变更即时生效,无需额外通知;
    • 教学计划(PDC)无需手动计算,系统自动生成;
    • 考试信息除了会展示在课表中,还会自动生成考试时间表,供师生查看;
  • 对于同学、授课老师,可以使用过滤选项,只查看与自己有关的最新课程信息;
  • 对于寻找教室上自习的同学,可以快速查看某个教室的上课情况。

Q&A

Q:怎样备份数据?

A:在管理页面,所有数据表都有导出数据的选项,可以导出Excel、csv、json、yaml等8种格式的文件

Q:如何适应培养方案变更的情况的?

A:每学期都有对应的“学期戳”(灵感来源于时间戳),记2007年9月至2008年1月为第一学期,例如2022年2月至2022年7月即为第30学期。每学期都会根据已有信息生成专属的培养方案和教学计划,可以根据实际情况改动。这样的设计让未来的改动不会影响已有的课表记录。

数据库结构

database