一个使用Next.js和Supabase构建的个人生活管理应用。
- 待办事项管理
- 健康追踪
- 工作排班管理
- 工资计算
- 居家购物清单管理
- 电商商品管理
- 安装Docker Desktop
- 安装Supabase CLI:
npm install -g supabase
- 启动本地Supabase环境:
supabase start
- 应用数据库结构:
supabase db reset
- 安装依赖:
npm install
- 启动开发服务器:
npm run dev
数据库结构定义在 supabase/migrations/ 目录中。
主要数据表包括:
todos
- 待办事项health_tracks
- 健康追踪user_profiles
- 用户个人资料work_schedules
- 工作排班shop_hourly_rates
- 店铺时薪shopping_items
- 购物清单products
- 商品shops
- 超市shopping_carts
- 购物车cart_items
- 购物车项orders
- 订单order_items
- 订单项
当您准备好部署到线上Supabase环境时:
- 在Supabase官网创建项目
- 获取项目凭证并更新
.env.local
文件 - 运行
npm run build
构建应用 - 部署到您选择的托管平台(Vercel推荐)
src/
├── app/ # Next.js App Router页面
├── components/ # React组件
├── contexts/ # React上下文
├── hooks/ # 自定义Hooks
├── lib/ # 工具库和客户端
├── services/ # 业务逻辑服务
└── types/ # TypeScript类型定义
- 添加、编辑、删除工作排班
- 设置不同店铺的时薪
- 自动计算工作时长和工资
- 日历视图查看排班安排
- 支持设置休息时长(0.5小时、1小时、1.5小时、2小时)
- 根据工作时长和时薪自动计算工资
- 支持不同店铺设置不同的时薪(白班时薪和夜班时薪)
- 工资统计和汇总
- 休息时长会从工作时长中扣除后再计算工资
- 添加、编辑、删除购物项
- 支持商品分类(食品饮料、日用品、清洁用品等)
- 设置商品优先级(高、中、低)
- 记录商品数量、单位和价格
- 标记商品为已购买/未购买状态
- 统计购物清单总金额和购买状态
- 支持按类别、优先级和创建时间排序
- 支持过滤已购买和未购买的商品
- 添加、编辑、删除商品
- 商品分类管理
- 超市管理
- 商品与超市关联
- 行级安全策略确保数据安全
- LOCAL_SUPABASE_SETUP.md - 本地Supabase开发环境设置
- ONLINE_SUPABASE_SETUP.md - 线上Supabase数据库设置
- DATABASE_MIGRATION.md - 数据库迁移指南
- DATABASE_SETUP_SUMMARY.md - 数据库设置总结
- IMPLEMENTATION_SUMMARY.md - 实现总结报告
- ECOMMERCE_TROUBLESHOOTING.md - 电商功能故障排查指南
- 在数据库中创建相应的表结构
- 更新 src/types/supabase.ts 类型定义
- 创建相应的服务层函数
- 实现前端页面和组件
- 在 supabase/migrations/ 目录中添加新的迁移文件
- 运行
supabase db reset
应用迁移
如果遇到问题,请检查:
- 环境变量是否正确设置
- Supabase项目是否正确配置
- 网络连接是否正常
- 控制台是否有错误信息
如果在添加商品时遇到403 Forbidden错误,可能是由于products表缺少INSERT策略。请参考ECOMMERCE_TROUBLESHOOTING.md中的解决方案。
本项目仅供学习和参考使用。