一个基于 Go + React 开发的课表查询系统,支持将湖汽课表导入到 WakeUp 课程表 App 中使用。本项目采用前后端分离架构,提供简洁美观的用户界面和高效稳定的后端服务。
- 🔍 课表查询:支持按班级查询课表
- 📱 一键导入:支持将课表一键导入到 WakeUp 课程表
- 💾 数据缓存:实现课表分享码的缓存机制,提高响应速度
- 📊 数据统计:记录查询日志,支持数据分析
- 🛡️ 跨域支持:支持跨域请求,方便前端调用
客户端
- React.js - 用户界面构建
- 现代化的UI设计
- 响应式布局
服务端
- Gin - Go Web 框架
- RESTful API 设计
- 高性能的数据处理
课表分析
- Python Pandas - 数据分析和处理
- 自动化的课表转换
.
├── frontend/ # React 前端项目
├── admin/ # 管理后台相关代码
├── data/ # 课表数据存储
├── doc/ # 项目文档和资源
├── 课表转换/ # Python 课表转换工具
├── main.go # 后端主程序入口
├── go.mod # Go 依赖管理
└── config.json # 项目配置文件
- Go 1.16+
- Node.js 14+
- Python 3.7+(用于课表转换)
# 安装依赖
go get
go mod tidy
# 启动服务(默认端口5001)
go run main.go
# 指定端口启动
go run main.go -port 8080
# 安装依赖
cd frontend
yarn
# 开发模式
yarn dev
# 构建生产版本
yarn build
- 构建前端项目,将
frontend/dist
目录下的文件复制到后端项目根目录的dist
文件夹 - 确保
data
目录下有课表数据文件 - 启动后端服务即可
- 下载本仓库到本地
- 准备原始课表文件(Excel 格式)
- 将原始课表文件另存为,如
2025-1.xlsx
格式,放到课表转换/
目录下 - 使用课表转换工具进行转换:
cd 课表转换 # 1. 修改 src/main.ipynb 中的配置 # 2. 运行 main.ipynb 进行数据处理 # 3. 运行 write.ipynb 生成 .wakeup_schedule 文件
每年课表不大一样,需要修改部分代码
- 转换后的文件将保存在
课表转换/data
目录 - 登录管理后台
https://c.d5v.cc/admin/
上传课表 - 创建一个 Pull Request 将修改的代码推送到本仓库(详细看 #🤝 贡献)
欢迎提交 Issue 和 Pull Request!
- Fork 项目
- 创建新分支 (
git checkout -b feature/AmazingFeature
) - 提交更改 (
git commit -m 'Add some AmazingFeature'
) - 推送到分支 (
git push origin feature/AmazingFeature
) - 提交 Pull Request
本项目基于 MIT 许可证开源,详见 LICENSE 文件。
(返回顶部)