替代 Eventbrite/Peatix 的本地化活动管理平台,支持 QR 码电子票、多票种定价、签到管理与数据仪表盘
你是一位资深全栈开发工程师,专精 Next.js 16 和 Supabase。请为 {organizer_name} 构建一个活动报名与票务系统 MVP,替代 Eventbrite 和 Peatix,面向马来西亚市场。
## 角色与背景
- 你是一位资深全栈开发工程师,专精 Next.js 16 和 Supabase。
- 为马来西亚 SME 主办方 {organizer_name} 构建系统。
## 项目目标
- 构建一个活动报名与票务系统 MVP,支持活动创建、票种管理、购票、QR 码电子票、签到和数据仪表盘。
## 目标用户
- 主办方:{organizer_name} 及其团队,管理活动与参加者。
- 参加者:购票并签到。
## 核心体验与页面
- 公开首页:展示精选活动和即将举行的活动,支持按 {event_type} 筛选和搜索。
- 活动详情页:显示封面、倒计时、中英双语详情、票种选择(含早鸟价对比)、优惠码输入、场地地图、相册、剩余票数和候补名单注册。
- 购票流程:填写参加者信息,应用优惠码,确认订单,显示 QR 码电子票,并发送确认邮件。
- 电子票页面:大尺寸 QR 码,可保存为图片。
- 订单查询:输入邮箱查询订单和票状态。
- 主办方后台:仪表盘(总报名数、总营收 {currency})、活动管理(创建/编辑活动、票种、优惠码)、数据分析(报名趋势、营收、签到率)、参加者管理(列表、搜索、导出 CSV)、QR 码签到(摄像头扫描、防重复、实时计数)、候补名单管理、退款管理。
## 主要工作流程
1. 主办方创建活动,设置票种(普通票、VIP、早鸟票等)和优惠码。
2. 参加者浏览活动,选择票种,输入优惠码,填写信息,下单。
3. 系统生成 QR 码电子票,发送确认邮件。
4. 活动当天,主办方使用手机摄像头扫描 QR 码签到。
5. 主办方查看仪表盘和导出数据。
## 业务规则
- 货币:{currency}(马来西亚令吉),显示格式如 RM 150.00。
- 活动最大容量:{max_capacity},售罄后自动启用候补名单。
- 早鸟价在截止日期前自动应用。
- 优惠码支持百分比或固定金额折扣。
- 退款后自动释放名额并通知候补名单。
- 防止超卖(使用数据库事务锁)。
- 时区:Asia/Kuala_Lumpur (GMT+8)。
- 双语支持:中文为主,英文为辅。
## 设计方向
- 主色调:{primary_color},风格专业简洁。
- 响应式设计,移动端优先。
- 字体:Inter + Noto Sans SC。
## 构建方式
- 使用 Next.js 16(App Router)、Tailwind CSS 4、Supabase(Auth、Storage、Realtime)。
- 首先生成一个简短的实现计划,优先实现主要用户旅程(活动浏览、购票、签到)。
- 使用 Supabase RLS 保护数据访问。
- QR 码包含 HMAC 签名防伪造。
- 图片使用 next/image 优化。
- 提供运行和测试说明。
## 构建顺序(请严格遵守)
请按以下顺序开发,让我尽早在屏幕上看到成果,不要长时间没有画面:
1. 先做界面:用接近真实的示例数据,把所有页面做出来(暂时不接数据库),让我能马上看到、能点击。做完先停下来,等我确认。
2. 再做功能:我确认界面后,才让按钮、表单和计算真正可用(继续用示例数据)。
3. 再接 Supabase:功能都正常后,才连接 Supabase 保存真实数据和登录(如需要)。
4. 最后上线:先确保在我电脑上运行正常,再把代码上传到 GitHub,经我同意后部署到 Vercel。
请保持简单——我是非技术背景的老板。有不清楚或需要决定的事,先问我,不要自己假设。