luff 0e6065897b 星火纪元 个人成长追踪 v1.0
- Flask + SQLite 自托管,单用户无 PIN
- 仪表盘:学科进度环轮播、健康双线图、任务接龙、书架墙、浮动打卡
- 后台:孩子信息、学科/单元课表、健康历史录入、数据管理(重置/新学期)
- 徽章由进度实时派生;主题由后台设置
2026-08-11 15:20:53 +08:00
2026-08-11 15:20:53 +08:00
2026-08-11 15:20:53 +08:00

星火纪元 · 儿童个人成长系统(自托管)

给自家孩子用的轻量成长记录 Web 服务:追踪学科进度读书运动打卡健康并颁发轻量徽章。 纯本地、离线可用,数据存在你自己的 SQLite 文件里,不依赖任何云、不用 Docker。

特性

  • 📅 学期日历小图:进度环旁的点状日历,每点代表一天,按颜色区分打卡密度(越深越多 / 蓝=周末 / 灰=未打卡 / 圆环=今天),一眼看学期投入节奏。起止日期在家长后台「孩子信息」里设定。
  • 🎡 各学科进度一览:一行小进度环,每屏 3 个学科自动轮播;右侧有半透明「›」箭头可手动切下一屏。
  • 📚 学科进度(单科轮播):整年课表(学科 → 单元/章节)逐科展示;每科按任务顺序显示「已完成 3 · 进行中 1 · 待完成 3」,点一下即完成、下一任务自动接上。点「详情」弹窗看全部单元与目标日。
  • 📖 书架墙:已读完的书以封面墙展示——上排 3 本最近读完、下排 3 本随机回顾;点「详情」弹窗可按书名/作者/分类搜索、分类筛选、排序。无封面时显示彩色书脊,封面完成日期标在右下角。封面支持本地上传(自动标准化为统一 2:3 并生成缩略图)或填图片 URL。
  • 💗 健康综合:主视图只显示「当前身高 / 当前体重」及同龄标准参考;点「📈 图表详情」弹窗看最近两年的身高(绿)/体重(橙)双线趋势。家长后台可补录任意历史日期的健康数据。
  • 🚀 浮动快捷打卡:仪表盘右侧常驻三个竖向按钮——跳绳打卡、仰卧起坐打卡、读书打卡,点一下即记录当天打卡。
  • 🏅 轻量徽章:由任务完成数、读书、运动等实时派生(如「迈出第一步」「任务小达人」「单科全通关」「学年进度过半」等),随进展自动获得;仪表盘顶部轮播已得徽章,点开可看全部(含未解锁)与获得时间。
  • 🎨 主题:家长后台「孩子信息」里设定默认主题(浅色 / 暗色 / 糖果 / 海洋),服务端直接应用,刷新即生效。
  • 🔒 双角色:孩子无 PIN 直进仪表盘;家长后台 /admin 用密码管理课表、健康记录与数据(含一键导出 JSON)。

运行(不用 Docker

需要 Python 3.10+。

cd tracker
python -m venv venv
venv\Scripts\activate        # Windows
#   macOS/Linux: source venv/bin/activate
pip install -r requirements.txt
python app.py

启动后打开:

首次启动会自动建库并写入一份示例数据,方便直接看效果。

配置(环境变量,可选)

变量 默认 说明
ADMIN_USER admin 家长后台用户名
ADMIN_PASSWORD admin123 家长后台密码
PORT 5000 服务端口
SECRET_KEY change-me... Flask 会话密钥

例:ADMIN_PASSWORD=你的强密码 PORT=8080 python app.py

家长后台数据管理

  • 重置全部数据:清空所有进度 / 打卡 / 健康记录,但保留学科、单元、书目结构(方便从零开始新一轮记录)。
  • 开启新学期:把单元进度重置为「未开始」、清空打卡,并把学期起设为今天;适合换学期时一键归零。

徽章由进度实时派生,重置或开启新学期后会随孩子的新进展自动重新累积,无需手动发徽章。

数据与备份

  • 数据库文件:data/tracker.db(单文件,复制即备份)。
  • 上传的本地封面:static/covers/(备份时建议连同此目录一起复制)。
  • 家长后台「导出全部数据」可下载 tracker-export.json

目录结构

tracker/
├── app.py                 # Flask 应用 + 数据库 + 纯 SVG 图表逻辑
├── requirements.txt
├── data/tracker.db        # 自动生成
├── templates/
│   ├── base.html          # 布局 + 主题类挂载
│   ├── dashboard.html     # 孩子仪表盘
│   ├── admin.html         # 家长后台
│   ├── login.html
│   └── _book_cover.html   # 书架封面局部(主墙与详情弹窗共用)
└── static/
    ├── style.css
    └── covers/            # 上传的本地封面

说明

  • 图表用纯 SVG 生成,无任何外部 CDN 依赖,断网也能用。
  • 按需求定制:单孩子、无 PIN、Python、不用 Docker、小学阶段、手动录课表、轻量徽章。
  • 多孩子、教材章节模板、更多健康指标可在现有数据模型上平滑扩展。
S
Description
星火纪元 - 小学生个人成长追踪 (Flask + SQLite, 自托管)
Readme 125 KiB
Languages
Python 52%
HTML 28.2%
CSS 19.8%