# violin-schedule **Repository Path**: IvenKooLab/violin-schedule ## Basic Information - **Project Name**: violin-schedule - **Description**: 秋秋课表 · 给小提琴老师的可爱风课表 PWA - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-29 - **Last Updated**: 2026-09-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 秋秋课表 🎻🎀 给小提琴老师(其实任何一对一课时型老师都适用)的可爱风课表 Web App。纯前端 + 可选极简同步服务,数据完全由自己掌握。 > 起源:作者送给妻子(小提琴老师)的生日礼物,做给她自己日常用,顺手开源。 ![技术栈](https://img.shields.io/badge/%E6%8A%80%E6%9C%AF%E6%A0%88-%E7%BA%AF%E5%8E%9F%E7%94%9FHTML%2FCSS%2FJS-pink) ![后端](https://img.shields.io/badge/%E5%90%8E%E7%AB%AF-Python%E6%A0%87%E5%87%86%E5%BA%93-blue) ![协议](https://img.shields.io/badge/%E5%8D%8F%E8%AE%AE-MIT-green) [![Gitee Stars](https://gitee.com/IvenKooLab/violin-schedule/badge/star.svg?theme=dark)](https://gitee.com/IvenKooLab/violin-schedule) ## 功能 ✨ - **今日课程**:下一节倒计时、地点标注、上完打卡写小记录 - **周课表 · 网格**:WakeUp 式彩色格子,学生的颜色就是格子的颜色;列表/网格双模式 - **学生档案**:程度、固定时间、地点、正在练的曲子、练习进度心 - **乐团 · 演出**:演出项目 → N 次排练 + M 场演出;排练费按次、演出费按场,出勤自动算进月账本 - **主题换装**:四套配色主题(原创贴纸)+ 壁纸 + 四款可爱字体 - **一键导入课表**:粘贴文本规则解析(周X/地点/时间区间/括号备注/放假标记),另有 GLM-4V 截图识别(可选) - **云同步**:同步码即登录,多台设备自动推拉合并;不配置也完全可以离线单机用 - **小工具**:A4 音叉(GDAE 四弦)、节拍器、生日彩蛋、每日开屏问候 ## 快速开始 🚀 ### 方式一:静态托管(最简单) 把 `app/` 目录扔到任意静态托管(Nginx、Caddy、EdgeOne Pages、Cloudflare Pages…)即可。 数据存在浏览器本地,**不配置任何后端也能完整使用**。 ### 方式二:自带同步服务器(多设备同步) ```bash # 任意有 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)。 ### 方式三:Docker(TODO 欢迎贡献) ## 数据与隐私 🔒 - 课表数据 100% 存在设备本地(localStorage),云同步是**可选**功能 - 同步码即身份:一家人共用一个码,设备间自动合并(按修改时间戳) - 没有账号体系、没有统计埋点;服务器只存你自己的课表 JSON ## 二次开发 🛠️ - 纯原生 HTML/CSS/JS,无构建链,改完刷新即生效 - 主题贴纸为原创 SVG 手绘;内附的三丽鸥主题壁纸为同人素材,**仅限个人使用,请勿商用**; 也支持在 App 内上传自己的图片做壁纸 - 欢迎提 Issue / PR ## License 📄 [MIT](LICENSE)