认识一下
欢迎使用 AstraSchedule(星程课表) 👋
介绍
这是一套专为学校班级电子课表场景设计的系统,包含三个独立组件:
- Electron 客户端:运行在教室电脑上,显示课表、倒计时、天气、通知等。
- Web 管理端:老师或电教委在浏览器中统一配置课表、调课规则、倒计时等。
- Golang 服务端:提供 API 和数据存储,支持 SQLite 和 MySQL。
三者互相独立、强解耦,可以分开部署在不同位置(甚至不同云服务商)。这意味着您的学校甚至不需要自己的服务器,也能以极低成本完整部署并运行本系统。
核心亮点
- 兼容老旧设备:客户端最低可完美运行在 32 位 Windows 7 上,让还没换新电脑的教室也能用上电子课表。
- 智能调休:无需手动录入调休安排,课表可自动推算调整。
- 侧载规则:遇到运动会、临时调课,只需设置日期,系统自动替换课表,过期自动恢复原始课表,再也不怕忘记改回来。
- 多级数据隔离:内置 校 - 级 - 班 三层数据隔离,天生支持多租户。一个系统可以为整个教育集团、甚至全区全市提供服务。
- 弹性部署:后端支持 SQLite(无需安装数据库)和 MySQL;可部署在 Serverless 平台(如云函数、Netlify Functions),自动弹性伸缩。从单个班级到上千所学校,同一套代码平滑升级。
- 一键备份与复制:支持跨数据库类型备份与还原(MySQL ↔ SQLite),新建班级时直接复制别的班级配置,快速初始化。
以上功能全部基于三年实际教学场景维护的经验打磨而成,绝非纸上谈兵。

llms.txt
本文档支持 llms.txt,您可以将其作为输入提供给任何支持 llms.txt 的 AI 并使用他们阅读文档!
版本说明
本文档针对当前主分支实现,若你正在使用历史版本,请以对应分支代码和配置为准。
本应用版本号虽然形式上遵循 Semver 规范,但实际上采用类似于滚动升级的方式发版,版本号命名规则如下:
例如:202510.2.40 表示该版本发布于 2025 年 10 月 02 日,GitHub Action 序号为 40。
即使客户端支持关闭自动更新,但仍建议跟进最新版本,包括服务端与前端,即使他们大部分能跨版本兼容,但跨版本导致的问题不受支持。本项目不存在所谓 Stable、Beta、Ngihtly 的区分,因为每次 main 分支的提交都会创建一个新版本,并发布于 GitHub Release 中。保证后端的最新版本至少与前端、客户端的最新三个版本兼容。
即使本应用自动更新通过 GitHub Release 下载,但并不需要您的网络支持连接 GitHub,因为默认通过镜像源连接。镜像源支持修改,所以您还可以针对所在网络环境搭建自己的镜像源!
关于文档
本文档使用 AI 辅助编写,未经审核的页面均已添加 DANGER 标识。如果无法解决问题或需要协助部署,可邮箱联系:kuohu233@qq.com