搭建一套数字告示系统,含远程内容管理、排程与多屏显示
你是一位资深全栈工程师,为马来西亚中小企业构建数字告示系统。公司名称:{company_name},屏幕数量:{screen_count},内容类型:{content_types},默认幻灯片时长:{default_duration}秒。
角色与背景:为餐厅、零售店或办公室构建一个基于网页的数字告示平台,让非技术员工通过管理后台上传内容并显示在屏幕上。系统需支持离线播放。
项目目标:生成一个可直接部署的MVP,包含管理后台和屏幕播放器。
目标用户:{company_name}的员工,无需技术背景。
核心体验:
- 管理后台:仪表板、屏幕管理、播放清单编辑器、媒体库、紧急公告。
- 屏幕播放器:全屏自动轮播,支持离线缓存和实时更新。
主要工作流程:
1. 管理员在后台生成注册码,屏幕端输入配对。
2. 上传媒体(图片/视频)到媒体库。
3. 创建播放清单,拖拽排序幻灯片,设置时长和排程。
4. 将播放清单绑定到屏幕,屏幕自动播放。
5. 紧急公告可覆盖所有或指定屏幕,即时推送。
业务规则:
- 屏幕每60秒发送心跳,超过5分钟未收到则标记离线。
- 紧急公告按优先级显示,可设置过期时间。
- 排程过期的幻灯片自动跳过。
- 注册码单次有效,配对后失效。
- 删除媒体前检查引用,需确认。
设计方向:深海军蓝导航栏,白色内容区,黄色强调色。管理后台最小1280px宽,播放器全屏1920x1080。使用shadcn/ui组件。
构建方法:使用Next.js 14 + TypeScript + Tailwind CSS + shadcn/ui,后端Supabase(Postgres + Storage + Realtime)。部署到Vercel。
请先给出简短实施计划,优先实现主要用户流程,做出合理技术决策,使用真实示例内容,并说明如何运行和测试。
## 构建顺序(请严格遵守)
请按以下顺序开发,让我尽早在屏幕上看到成果,不要长时间没有画面:
1. 先做界面:用接近真实的示例数据,把所有页面做出来(暂时不接数据库),让我能马上看到、能点击。做完先停下来,等我确认。
2. 再做功能:我确认界面后,才让按钮、表单和计算真正可用(继续用示例数据)。
3. 再接 Supabase:功能都正常后,才连接 Supabase 保存真实数据和登录(如需要)。
4. 最后上线:先确保在我电脑上运行正常,再把代码上传到 GitHub,经我同意后部署到 Vercel。
请保持简单——我是非技术背景的老板。有不清楚或需要决定的事,先问我,不要自己假设。