这是一个基于Next.js和Supabase构建的月经周期跟踪应用,专为中文用户设计。该应用提供月经周期记录、症状跟踪、周期预测和健康报告生成等功能。
- 📅 月经周期跟踪与记录
- 📊 经期长度和周期规律性分析
- 🔮 下次经期和排卵期预测
- 🩸 经血量记录
- 😣 症状跟踪与分析
- 📝 健康报告生成
- 🗓️ 日历集成
- 🔔 重要日期提醒
- 🌙 暗色模式支持
- 🔒 用户数据安全保护
- 前端框架: Next.js 14 (App Router)
- 数据库: PostgreSQL (通过Supabase)
- 认证: Supabase Auth
- 样式: Tailwind CSS
- 日期处理: date-fns
- API: RESTful API设计
/app
/api # API端点
/cycles # 经期周期管理
/symptoms # 症状记录管理
/calendar # 日历事件管理
/predictions # 周期预测
/reports # 健康报告生成
/settings # 用户设置管理
/components # UI组件
/lib # 工具函数库
/types # TypeScript类型定义
/public # 静态资源
/db_schema.sql # 数据库结构定义
GET- 获取用户的经期周期记录POST- 创建新的经期周期记录PUT- 更新经期周期记录DELETE- 删除经期周期记录
GET- 获取用户的症状记录POST- 创建新的症状记录PUT- 批量添加症状记录PATCH- 更新症状记录DELETE- 删除症状记录OPTIONS- 获取预定义症状类别
GET- 获取用户的日历事件POST- 创建新的日历事件PUT- 更新日历事件DELETE- 删除日历事件PATCH- 同步经期和预测数据到日历
GET- 获取用户的周期预测POST- 自定义预测周期
GET- 获取用户的健康报告
GET- 获取用户设置PUT- 更新用户设置DELETE- 重置用户设置为默认值
该应用使用PostgreSQL数据库,包含以下表:
- settings - 用户设置
- cycles - 经期周期记录
- symptoms - 症状记录
- calendar_events - 日历事件
- predictions - 预测结果
数据库结构详见 db_schema.sql 文件。
npm install创建 .env.local 文件,并设置以下环境变量:
NEXT_PUBLIC_SUPABASE_URL=your_supabase_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
- 在Supabase控制台中创建新项目
- 使用
db_schema.sql中的SQL语句创建数据库表
npm run dev应用可以部署到Vercel:
npm run build
vercel deploy本应用尊重用户隐私,所有数据均存储在用户自己的Supabase数据库中。用户可以随时导出或删除自己的数据。
欢迎为项目贡献代码,请遵循以下步骤:
- Fork项目
- 创建功能分支 (
git checkout -b feature/amazing-feature) - 提交更改 (
git commit -m 'Add some amazing feature') - 推送分支 (
git push origin feature/amazing-feature) - 打开Pull Request
此项目采用MIT许可证。