{"repo":"chaodeng060-source/period-tracker","free":true,"listed":false,"github":"https://github.com/chaodeng060-source/period-tracker","clone":"git clone https://github.com/chaodeng060-source/period-tracker.git","description":"极简自托管经期记录 · self-hosted period tracker: one JSON file, two APIs, one page","language":"TypeScript","stars":18,"topics":[],"license":"AGPL-3.0","category":"self-hosted-apps","readme_excerpt":"period-tracker 极简自托管经期记录。一个 JSON 文件存数据、两个 API、一页前端——没有账号、没有云、没有广告、没有数据上报，你的身体数据只待在你自己的机器上。 功能 - 一键「经期来了」记录来潮起始日；点日历任意一天可补记 / 撤销 - 自动推导：平均周期、下次预计、当前周期第几天、当前相位（经期 / 卵泡 / 排卵 / 黄体 / 超期） - 日历按相位着色（只标到今天为止，不预演未来） - 同一次经期内手滑重复点击自动去重，不会算歪周期 - 数据就是一个 period state.json ，备份 = 复制一个文件 跑起来 前端构建产物已带在 static/ 里，克隆即用，不装 Node 也能跑。 配置 环境变量 默认 说明 --- --- --- PERIOD DATA ./period state.json 数据文件路径 PERIOD PORT 8080 端口 PERIOD HOST 127.0.0.1 监听地址。要对外服务请自己套认证（反代 + Basic Auth 等） API derived 字段： last start / next due / recorded / cycles / avg cycle / period length / day of cycle / days until next / phase 。 改前端 测试 周期推导怎么算 - 平均周期 = 相邻两次来潮起始日间隔的均值；间隔 60 天视为漏记一轮（不计入均值） - 排卵日 ≈ 下次预计前 14 天，前后各留一天为排卵窗口 - 不足两次记录时按默认 28 天周期估算 ⚠️ 预测仅供参考，不构成医疗建议；周期异常请咨询医生。 License AGPL-3.0（2026-08-16 起，此前版本为 MIT） 用了这份代码就得开源你自己的代码，改了要标出处； 哪怕只是拿去跑网络服务、不分发二进制，也算分发，同样要开源 。","default_branch":null,"files":null,"tree":[],"storefront":"/r/chaodeng060-source","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/chaodeng060-source/period-tracker/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}