10 KiB
10 KiB
现场互动SaaS平台 - 项目上下文
项目概述
这是一个创业项目,旨在打造轻量化现场大屏幕互动SaaS平台,专注500元以下小型活动市场。项目对标Hi现场(https://www.hixianchang.com/),以极致性价比和稳定性抢占下沉市场。
核心定位
- 目标市场:小型活动主办方(部门年会、小型沙龙、公司年会、经销商会等)
- 差异化策略:低价、轻量、专注小B客户
- 核心优势:技术自主(2名程序员)、轻量部署、抖音获客、快速响应
团队配置(3人)
- 程序员A:后端开发+部署运维
- 程序员B:前端开发+大屏幕
- 推广客服C:抖音运营+客户对接
预算规划
- 启动资金:3-5万元
- 最大亏损底线:不超过3万元
- 验证期:最多12个月
技术栈(已确定)
后端
- 语言:Go 1.21+ LTS
- Web框架:Gin(轻量高性能)
- ORM:GORM
- 数据库:MySQL 8.0
- 实时通信:HTTP长轮询(暂不用WebSocket)
- 配置管理:Viper
- 日志:Zap
- JWT:golang-jwt/jwt
前端
- 框架:Vue 3
- 构建工具:Vite
- UI组件库:
- 管理后台:Element Plus
- 移动端:Vant
- 动画:Canvas 2D(不用WebGL,保持轻量)
部署
- 云服务:阿里云ECS(2核4G)
- Web服务器:Nginx(反向代理 + 静态文件)
- 数据库:MySQL 8.0(本地部署)
- 监控:阿里云免费监控 + Server酱微信推送
项目结构(规划中)
live_cloud/
├── backend/ # 后端项目(Go + Gin)
│ ├── cmd/
│ │ └── server/
│ │ └── main.go # 程序入口
│ ├── internal/
│ │ ├── api/ # HTTP路由和控制器
│ │ ├── model/ # 数据模型
│ │ ├── service/ # 业务逻辑层
│ │ ├── repository/ # 数据访问层
│ │ ├── middleware/ # 中间件
│ │ ├── pkg/ # 工具包
│ │ └── config/ # 配置
│ ├── config/
│ │ ├── config.yaml # 配置文件
│ │ └── config.prod.yaml # 生产环境配置
│ ├── scripts/
│ │ ├── build.sh # 构建脚本
│ │ └── deploy.sh # 部署脚本
│ ├── go.mod
│ └── go.sum
├── frontend/ # 前端项目(Vue 3)
│ ├── admin/ # 管理后台
│ ├── screen/ # 大屏幕
│ └── mobile/ # 移动端H5
├── 规划/ # 项目规划文档
│ └── 项目启动规划.md
└── AGENTS.md # 本文件
MVP功能规划(V1.0)
核心功能(4个)
-
扫码签到
- 用户扫码填写:姓名 + 手机号
- 大屏幕实时显示:头像 + 姓名
- 管理后台:查看签到列表 + 导出Excel
-
弹幕互动
- 用户扫码发送弹幕
- 大屏幕实时显示弹幕池(最近50条)
- 后台敏感词过滤
-
头像滚动抽奖
- 支持设置:奖品名称、数量、单次抽取人数
- 大屏幕动画:Canvas 2D滚动
- 中奖结果:弹窗显示 + 自动保存 + 防重复中奖
-
数钱游戏
- 比拼手速的游戏玩法
- 大屏幕实时显示排名
- 游戏结束后导出成绩
管理后台功能
- 活动管理:创建、编辑、删除
- 数据查看:签到人数、中奖记录、弹幕列表
- 导出功能:签到名单、中奖名单
砍掉的功能(暂不开发)
- ❌ 3D签到墙(兼容性问题多)
- ❌ 红包功能(涉及支付,合规复杂)
- ❌ 复杂游戏功能(开发周期长)
- ❌ 投票功能(需求频次低)
- ❌ 多主题切换(维护成本高)
数据库设计(规划中)
核心表
- users:用户表
- activities:活动表
- checkins:签到表
- danmakus:弹幕表
- lotteries:抽奖表
- lottery_winners:中奖记录表
- money_games:数钱游戏表
- money_game_records:游戏记录表
- orders:订单表
技术要点
- 单库单表,无分库分表(简化架构)
- 合理设计索引(activity_id, user_id)
- 使用GORM ORM框架
- 支持软删除(deleted_at字段)
产品定价
| 套餐 | 价格 | 人数限制 | 核心功能 |
|---|---|---|---|
| 体验版 | 0元 | ≤30人 | 签到+1轮抽奖(带水印) |
| 单次版 | 199元 | ≤100人 | 签到+3轮抽奖+弹幕 |
| 月度版 | 399元 | ≤300人 | 全功能+导出数据,不限场次,30天 |
| 年度版 | 1999元 | ≤500人 | 全功能,不限场次,365天 |
运营策略
获客渠道
- 主要渠道:抖音运营(客服C执行)
- 内容策略:
- 客户案例展示(60%)
- 功能演示(30%)
- 优惠活动(10%)
- 关键词布局:年会抽奖软件、现场互动、大屏幕抽奖、地域词(北京年会、上海活动等)
客户服务
- 响应时间:3分钟内
- 服务时间:7×24小时
- 交付流程:付款后30分钟内创建活动,活动前1天发送操作手册,活动前1小时客服在线值班
稳定性保障方案
三道防线
- 架构简化:单体应用、HTTP轮询、单库单表、无Redis、Canvas 2D
- 冗余备份:离线版HTML文件、手机热点+本地服务器、PPT抽奖动画
- 监控告警:CPU > 80%告警、响应时间 > 2秒告警、错误日志推送、心跳检测
活动前检查
- 24小时前:服务器余额、数据库备份、功能测试、离线文件生成
- 1小时前:操作手册确认、大屏幕设备测试、数据清空、客服在线
应急预案
- 服务器宕机:启动离线版,重启服务器,退款50%
- 抽奖卡顿:关闭动画,降低帧率,赠送免费活动
- 数据误删:从备份恢复,电话指导
开发计划(8周)
第1周:准备工作
- 确定技术栈(已确定Go)
- 注册阿里云账号
- 注册域名
- 创建GitHub私有仓库
第2-3周:后端开发
- 搭建Go项目骨架
- 设计数据库表
- 实现用户注册登录(JWT)
- 实现活动CRUD接口
- 实现签到、弹幕、抽奖、数钱游戏接口
第4-5周:前端开发
- 搭建Vue 3管理后台
- 实现活动管理页面
- 实现大屏幕Canvas动画
- 实现移动端H5扫码页
第6周:联调与测试
- 前后端接口联调
- 压力测试(100人并发)
- 兼容性测试
- 灾难恢复测试
第7周:内测与优化
- 三人内部测试
- 3-5个朋友公司免费试用
- 收集反馈,修复Bug
- 完善操作手册
第8周:上线准备
- 部署到阿里云
- 配置监控告警
- 设置数据库自动备份
- 准备抖音内容
成功关键要素
产品层面
- 稳定性 > 功能丰富度:宁可功能少,不能出故障
- 简单易用:3步完成活动创建
- 快速响应:客服5分钟内回复
运营层面
- 抖音获客:持续输出内容,建立信任
- 口碑传播:每个客户都变成推荐者
- 数据驱动:每周复盘,优化转化率
团队层面
- 明确分工:各司其职,不越界
- 充分沟通:每日同步进展
- 共担风险:收益共享,亏损共担
风险控制
退出条件(满足任一)
- 连续3个月收入 < 1000元
- 出现2次以上重大故障
- 核心成员退出且无法补充
止损底线
- 最大亏损:不超过3万元
- 时间投入:最多12个月
- 机会成本:如全职工作收入更高,可转为兼职
关键里程碑
第一个月
- V1.0 MVP上线
- 3-5个种子用户免费试用
- 系统可用性 > 95%
第三个月
- 首单付费订单(199元)
- 累计服务10场活动
- 0重大投诉
第六个月
- 月收入 > 3000元
- 累计服务50场活动
- 考虑扩充兼职设计
第十二个月
- 月收入 > 10,000元
- 累计服务200场活动
- 决策是否全职投入/融资扩张
重要说明
- 成本控制:月度服务器成本 ≤ 500元,单活动成本 ≤ 5元
- 协作模式:重大决策三人投票,简单多数通过;每周一次线上会议复盘
- 退出机制:任意成员可随时退出,需提前1个月告知
- 技术原则:极简架构,降低故障率;HTTP轮询替代WebSocket;Canvas 2D替代WebGL
参考资源
- 对标产品:https://www.hixianchang.com/
- Vue 3文档:https://cn.vuejs.org/
- Gin文档:https://gin-gonic.com/docs/
- GORM文档:https://gorm.io/docs/
- Canvas动画:https://developer.mozilla.org/zh-CN/docs/Web/API/Canvas_API
模块开发流程
-
需求澄清阶段
- 列出所有关键问题,尽量考虑周全。同时你可以提供一些你的建议和思路
- 等待用户逐一回答或确认,一些不合理或有漏洞的设计你可以提出质疑和一些优化建议
- 在讨论过程中的一些细节设计需要记录文档到doc/thinking文件夹,后续完成模块设计讨论之后将内容同步到正式的设计文档中(文档使用utf-8进行编码,避免乱码)
-
方案与计划阶段
- 技术选型对比(如有必要)
- 模块边界划分
- 文件清单与职责
- 核心数据结构/接口定义
- 任务拆分(建议拆到能2-30行代码完成的粒度)
- 同时需要输出到对应的模块设计文档中
-
计划确认
- 明确询问:"以上计划是否确认可以开始编码?如有修改请指出。"
- 只有得到明确"是"、"确认"、"可以开始"、"go"、 "ok"等词才可进入编码
-
编码阶段
- 严格按照设计文档中的要求执行
- 编码过程中有必要在一些关键地方增加一些日志说明
- 完成编码任务之后需要同步更新相关设计文档。如有必要需要更新相关的使用文档和注意事项。
最后更新:2026年1月31日