Skip to content

otogi2025/DMSD

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

931 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tomoshibi 灯火

DMSD → Tomoshibi(灯火)

仓库 / 开发代号:DMSD — Dormitory Management System Digitalization 产品名:Tomoshibi(灯火 / ともしび) 一句话:把宿舍纸质点呼、纪律管理、申请流程数字化。 当前版本:见 CHANGELOG.md(版本号单源真值) 当前状态:5 端代码层全启动,v1.0 完整体推进中。 作者:itsuki(伊月)


第一次读这个项目

如果你是第一次打开这个仓库,建议按这个顺序读:

  1. design/system_features.md — 5 端共用功能规格,系统整体能力一览。
  2. specs/rollcall/RollCall_Spec.md — 点呼系统完整业务规格。
  3. dev/ — 5 端源代码,每个端目录下有自己的 README。

README.md 是仓库门面,design/specs/ 是理解系统设计的入口。


这是什么

我住的宿舍每天都要点呼,现在用的是纸质签到表。这种方式慢、容易漏,也很难和纪律分数、外泊申请、学习出席记录连起来。

Tomoshibi 用 NFC 卡、学生手机 App、老师 Web、后端服务器和入口处的专用点呼机,把这个流程数字化。

核心目标不是“做一个 App”,而是把宿舍管理里每天重复、容易出错的流程,变成一套可以实际运行的系统。


做到哪了

截至 2026-06-15

  • 2025-12:项目起步 — NFC 防代刷方案早期设计,推翻「手机当卡 / 二维码 / 静态 ID」等多种思路,确立「设备签名 + 一次性码」防代刷方向。
  • 2026-02:规格文档(spec)v0.1 冻结 — 8 个验收场景 + 扣分阈值,从纯讨论过渡到建目录、进 Git。
  • 2026-04-17 ~ 04-22:规格从 Pages 转 Markdown + 主体重写(681 → 958 行)+ 字典层单源真值;系统定名 Tomoshibi(灯火)。
  • 2026-04-28:Demo 跑通(iPhone NFC → 后端 → iPad 座位变绿 + 日语播报)。
  • 2026-04-29:宿舍管理员当面口头同意采纳系统,GitHub repo 首次 public。
  • 2026-04-30:老师反馈 38 条吸收进 system_features.md
  • 2026-05-02:v0.8.0 close,iOS / Android / Teacher Web / Backend / 点呼机 5 端代码层全启动。
  • 2026-05-08:点呼机硬件方案定稿(Pi 3A+ + PN532 V3 + ST25DV16K + USB 小音响)。
  • 2026-05-19:project-overview 大改造,建立文件级总览和防漂机制。
  • 2026-05-20 到 05-22:多轮审查和 bug findings 修复。
  • 2026-05-26:Teacher Web 的 Vite + TypeScript 实装版被整体废弃,回到 Ryō 风格 standalone HTML 主线。
  • 2026-05-27:Teacher Web v1.0 深夜推进,后端新增 discipline / cleaning / front desk / WebSocket 等能力;同日完成 iOS 审查、全项目审查、project-overview 再校准。
  • 2026-05-28:宿舍申请表后端全链路(5 张新表 + 校長审批链)+ iOS 6 个申请界面实装 + 点呼机硬件采购定稿。
  • 2026-05-30:Teacher Web v1.0 完整施工 6 大模块(行事予定 / 巴士时刻表 / 指導履歴 / 事案 / 个人档案聚合 / 学号一括进级)。
  • 2026-05-31:iOS 多功能从假数据接真后端(IX 系列)+ 后端 findings 全面修复,Codex 多轮复审(后端测试 193 → 220 全过)。
  • 2026-06-03:版本号回溯规范化 — 把 5-11 到 6-02 的 236 个 commit 按语义化版本补了 6 个版本标签(v0.8.1 ~ v0.12.0)。
  • 2026-06-03:出租车予約功能 4 端实装(v0.13.0)。
  • 2026-06-04:杭田老师 6-04 需求大批 + 外出申請 + オンライン学習契約書(v0.14.0)。
  • 2026-06-05:老师网页从 standalone HTML 迁到 React + TypeScript + Vite(界面冻结原样搬)+ Android 对齐 iOS + 学年更新完成(v0.15.0)。
  • 2026-06-09 ~ 06-11:版本号体系按语义化版本(SemVer)规范化(回溯补标 + 插空细分);iOS 体验功能批次(介绍页重做 / 公告 AI 翻译·要約 / 首页接真数据)+ iOS 首批单元测试(点呼时间窗状态机)。
  • 2026-06-12 ~ 06-13:iOS 公告原地翻译(Apple Intelligence)+ 老师权限分级 + 公告 is_demo 演示隔离 + 后端 schema 落后自检。
  • 2026-06-14:iOS 上线前全量审查(日语自然度 / bug / 漏洞 / 前后端对齐,Tier1–3 修复,当前版本 v0.23.10)。
  • 2026-06-13 ~ 06-15:公开仓库治理 — 白名单 .gitignore(只公开软件本体)+ 顶层目录去数字编号前缀(9 目录改名 + 全引用同步)+ 仓库门面整理。

当前重点:

状态
规格层 system_features.md + RollCall_Spec.md + 字段/枚举/错误码字典仍是业务真值。
Backend FastAPI + PostgreSQL + Alembic。27 router(REST + WebSocket)覆盖点呼 / 申请 / 公告 / 指导 / 事案 / 前台 等业务域。
iOS SwiftUI 项目在 dev/student_ios/v1/;学生端主要功能已接真后端,完成多轮上线前审查(日语自然度 / bug / 漏洞 / 前后端对齐)+ 首批单元测试。
Android Kotlin + Compose 项目已建,视觉层覆盖主要学生端屏幕;真后端接入和测试仍待推进。
Teacher Web React + TypeScript + Vite(Ryō 风格界面冻结搬迁),权威源 dev/teacher_web/v1/src/
点呼机 硬件方案和 Python 骨架已建,真实 Pi 上手和 NFC/LED/audio/API 模块实装仍在后续。
工程治理 WIP / TODO / project-overview / hooks / skills 协作防漂体系;公开仓库白名单 + 目录规范化。

技术栈

部分 技术
学生 App iOS(Swift / SwiftUI)+ Android(Kotlin / Jetpack Compose)
老师 Web React + TypeScript + Vite(Ryō 风格界面,iPad 浏览器使用)
后端 FastAPI / Python + PostgreSQL + Alembic
点呼机 Raspberry Pi 3A+ + PN532 V3 NFC + 01Studio USB 小音响 + Python
NFC 卡 / 标签 NTAG215(学生卡)+ ST25DV16K(入口动态标签,每 10 秒刷新 nonce)
协作 / 版本 Git + GitHub + Claude Code

推荐阅读顺序

顺序 文件 看什么
1 design/system_features.md 5 端共用功能规格真值。
2 specs/rollcall/RollCall_Spec.md 点呼系统完整业务规格。
3 design/ 硬件 / 流程 / 权限等设计文档。
4 dev/ 5 端源代码,各端目录下有自己的 README。
5 CHANGELOG.md 版本演变和里程碑。

关于 AI 协作

我在整个项目过程中使用 Claude Code 作为开发搭档:AI 负责帮助发现盲点、解释技术、实现代码、整理记录,重大决策由我拍板。

之所以保留这一声明,是因为这个项目本身也是一次个人开发者与 AI 协作完成真实工程的实践。完整的决策与演化记录保留在本地开发日志中。


联系 / 其他

About

Tomoshibi(灯火)— 宿舍点呼系统数字化。NFC 防代刷 + iOS/Android 学生端 + FastAPI 后端 + Raspberry Pi 点呼机。

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors