中小餐饮门店的收银高度依赖网络和云端 SaaS:断网就开不了单,营业数据还要上传到第三方;老板每天拿到的是一堆报表数字,得自己盯着找问题。本项目的立项目标是做一套「数据留在店里、断网照常收银、老板打开就看到结论」的单店经营系统。业务覆盖堂食按桌开台与打包外带,角色分管理员、领班、收银员、后厨、服务员;从开台点菜、后厨出品、组合收款与抹零、会员储值与券、交接班钱箱核算,到原材料 BOM 成本与报表复盘形成闭环。部署形态是一台收银机跑本地服务,手机、平板、客显屏通过局域网浏览器接入,不需要公网,也不按门店数订阅。
系统按业务域划分为十余个模块:① 收银台(桌台视图、开台/换台/并台、挂单、加菜催菜、现金/微信/支付宝/储值/组合支付、抹零、整单与部分退单);② 后厨出品屏 KDS(接单、批次出菜、撤单提醒);③ 会员(储值充值、等级折扣、积分 FIFO 有效期、12 个月滚动保级);④ 优惠券(券模板、发券规则、事件型与状态型自动触发、批量发放带批次号、券与订单双向追溯);⑤ 库存与采购(原材料、单位换算、出入库、盘点、菜品 BOM 与移动加权成本、安全库存预警、采购审批自动入库);⑥ 经营看板与 6 页签报表(营业/菜品/出品/会员/库存/交接班,PDF 导出);⑦ 经营诊断卡:不接大模型,用同星期几近 4 周基线加同时刻截断做确定性归因,输出营收偏差、优惠侵蚀、退菜异常三类结论,每条都能点开看到是哪几笔单;⑧ 门店与权限(显式开班制交接班、代交班、钱箱核算、四角色权限、操作日志、备份恢复);⑨ 双屏客显(BroadcastChannel 四态:欢迎/金额/密码/结果,抹零改价实时跟随);⑩ 移动扫码点餐(顾客免登录按桌点菜、服务员手持、桌台二维码 A4 打印、服务端权威计价与乐观锁);⑪ 安装包与账套(六步导航式安装向导、正式/演示双账套切换、只读出厂快照、一键恢复出厂、演示档案开张)。
我负责产品的业务口径定义、功能设计与验收:把「会员=会员卡=储值账号」、优惠构成唯一口径、班次按结账时间切分、券与订单双向追溯等规则定死,设计显式开班制状态机与双账套切换方案,并编写回归用例口径(离线全量 1659 项断言全绿,另有真浏览器截图验收)。编码由 AI 辅助完成,对应 Vibe Coding 项目。
技术栈是零第三方运行时依赖的原生方案:前端单文件 vanilla ES5 IIFE(HTML/CSS/JS,自绘 SVG 图表),后端单个 Node.js 进程吐页面加 5 个接口,数据落本地 SQLite,局域网浏览器瘦终端接入;客显用 BroadcastChannel,二维码用本地离线组件,测试用 Node 桩加 puppeteer-core。架构亮点:断网可用、营业数据不出店、页面与接口同源无 CORS 与混合内容问题、订单 _rev 乐观锁防多端同时加菜丢单、绑定局域网时自动启用令牌鉴权与角色表白名单、经营诊断用确定性规则而非生成式因此条条可复算。难点集中在口径一致性:26 张弱 schema 表里 select 存 id 读中文、异步加载时「数据没到不能判死」、客显金额与密码页状态机、抹零后金额口径、WAL 模式下必须用 VACUUM INTO 生成出厂快照、双账套切换时守护进程不能把服务拉回旧库。
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!

下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态
评论