Files
SuperJump/docs/产品规划.md
T
jacobxu666andClaude Opus 4.8 af7a144d58 第一期:家庭自学打卡系统
- 家长手机号登录 + 孩子设备一次性激活(长期会话)
- 周模板自动生成每日任务快照,支持拍照凭证直传对象存储
- 连击计算(空白日自动达成)、家长补卡带标记
- 家长端三标签:今日概览 / 任务模板 / 设备管理
- Docker 独立输出,经 Traefik 接入 jump.hn12301.net

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-08-02 23:19:13 +08:00

3.4 KiB

SuperJump 产品规划

状态:第一期开发中 共识来源:2026-08-02 需求确认(逐条问答式梳理,全部条目经家长确认)

一、产品定位

  • 家庭自学网站,仅自家使用,不对外开放、不做注册
  • 用户:两个孩子(徐卿玮,初一;徐子惠,小四;各有自己的 iPad)+ 家长
  • 数据库表结构从第一天起按"多家庭"设计,将来可开放给亲友,无需改表
  • 全部开发由 Claude Code 完成,一个模块一个模块推进

二、第一期:打卡(当前唯一开发范围)

账号与权限

  • 家长账号:手机号 18684839400 + 密码登录
  • 孩子设备:家长为指定孩子生成一次性激活码 → 在 iPad 上输入 → 该设备浏览器获得长期会话,日常零登录
  • 角色隔离:孩子界面只有"打卡"和"自己的统计",不存在任何管理入口(不是禁用,是页面里根本没有)
  • 家长可在设备管理页注销某台设备

任务

  • 每个孩子一份周模板(周一到周日各自的任务清单,任务可标记"需要拍照凭证")
  • 系统每天自动生成当日任务快照;家长可对某一天临时微调
  • 修改模板不影响历史记录,微调某一天也不污染模板

打卡

  • 孩子逐项勾选完成;标记了"需凭证"的任务必须上传照片才能完成
  • 照片在设备端压缩后直传阿里云对象存储(不经服务器中转)
  • 一天完成至少 1 项任务 = 当日打卡成功

连击(连续天数)

  • 连续打卡天数中断即清零
  • 周模板空白日(如故意不设任务的周日)自动算达成,不断连

补卡

  • 孩子不能补卡
  • 家长可对过去的日期补卡,记录永久带"补卡"标记,与普通打卡可区分

家长页面(最小版)

  • 仅"今日概览":每个孩子完成几项/共几项 + 当前连击天数
  • 无历史查询、无图表(第二期做)

三、技术与部署

层 方案
形态 网页应用;iPad 用 Safari"添加到主屏幕"当应用使用
框架 Next.js(TypeScript)+ Tailwind + shadcn/ui
数据库 复用服务器现有 MySQL,建 superjump 专用账号(非 root)
文件存储 阿里云对象存储,桶 12301-test(华东1杭州,与服务器同地域);私有读写 + 临时签名链接访问;大文件设备端直传
部署 代码推送至 Gitea(git.hn12301.net/xuchao/SuperJump)→ 服务器拉取并本地构建镜像 → Docker Compose + Traefik 自动路由
域名 jump.hn12301.net,HTTPS 证书由 Traefik 自动签发续期

四、明确暂缓

  • 打卡提醒推送(在家口头提醒即可)
  • 数据备份(与服务器整体备份策略同步,后期再定;照片已由对象存储三重冗余)

五、后续模块候选(顺序待定,第一期上线后再议)

  1. 家长看板全量:历史日历、完成率、趋势统计
  2. 试卷上传收集:家长拍照上传,按孩子/科目/日期归档
  3. 学习内容:视频、图文材料,分科目组织
  4. 检测:题库、练习、自动判分

六、第一期里程碑

  1. 数据库层:表结构 + 迁移 + 种子(徐家 + 家长 + 两个孩子)
  2. 认证:家长登录 + 设备激活 + 会话 + 角色中间件
  3. 打卡核心:任务快照生成、勾选、照片直传、连击计算、家长补卡
  4. 页面:孩子端今日任务页;家长端今日概览 + 周模板管理 + 设备管理
  5. 部署验收:https://jump.hn12301.net 全流程走通(登录→激活→打卡→传照片→家长查看)