给小提琴老师(其实任何一对一课时型老师都适用)的可爱风课表 Web App。纯前端 + 可选极简同步服务,数据完全由自己掌握。
起源:作者送给妻子(小提琴老师)的生日礼物,做给她自己日常用,顺手开源。
- 今日课程:下一节倒计时、地点标注、上完打卡写小记录
- 周课表 · 网格:WakeUp 式彩色格子,学生的颜色就是格子的颜色;列表/网格双模式
- 学生档案:程度、固定时间、地点、正在练的曲子、练习进度心
- 乐团 · 演出:演出项目 → N 次排练 + M 场演出;排练费按次、演出费按场,出勤自动算进月账本
- 主题换装:四套配色主题(原创贴纸)+ 壁纸 + 四款可爱字体
- 一键导入课表:粘贴文本规则解析(周X/地点/时间区间/括号备注/放假标记),另有 GLM-4V 截图识别(可选)
- 云同步:同步码即登录,多台设备自动推拉合并;不配置也完全可以离线单机用
- 小工具:A4 音叉(GDAE 四弦)、节拍器、生日彩蛋、每日开屏问候
把 app/ 目录扔到任意静态托管(Nginx、Caddy、EdgeOne Pages、Cloudflare Pages…)即可。
数据存在浏览器本地,不配置任何后端也能完整使用。
# 任意有 Python 3 的机器(Ubuntu 自带)
python3 server/sync_server.py 0.0.0.0 8780
# 首次运行自动生成同步码 tokens.txt,App「主题 → 云同步」里填
# 服务器地址 http://你的IP:8780 和同步码即可同步服务同时托管 App 静态页,一个进程全搞定;数据存 SQLite(server/qinqin.db),记得定期备份。
生产环境建议前面挂一层 Caddy/Nginx 上 HTTPS(iOS 添加到主屏幕 + 离线缓存都依赖 HTTPS)。
- 课表数据 100% 存在设备本地(localStorage),云同步是可选功能
- 同步码即身份:一家人共用一个码,设备间自动合并(按修改时间戳)
- 没有账号体系、没有统计埋点;服务器只存你自己的课表 JSON
- 纯原生 HTML/CSS/JS,无构建链,改完刷新即生效
- 主题贴纸为原创 SVG 手绘;内附的三丽鸥主题壁纸为同人素材,仅限个人使用,请勿商用; 也支持在 App 内上传自己的图片做壁纸
- 欢迎提 Issue / PR