概念演示 · 家里的小生意
订餐系统沙盒
订餐会员管理系统
妈妈订餐工作室的一天,从晚上的接龙到最后一单送达,用虚构的会员走一遍,你可以亲手试试。
真实的应用自 2026 年 4 月起上线使用
这是一个概念演示,不是真实的系统。真实的应用和代码都不公开,因为里面存的是真实的顾客数据。本页的一切都是合成的:会员、餐数、价格和群消息都是虚构的,你在这里的操作也不会离开你的浏览器。
起点
我妈妈经营一家小小的订餐工作室。会员先买预付餐卡,再在群里接龙,报第二天的午餐和晚餐。
有这个系统之前,每天晚上的接龙要靠人工统计,再发消息转给下一个人。当天的订单、餐卡余额、收入和支出,最后还要录进一个 Excel 表。同一批数字,在一天结束之前要经手好几遍。
它做什么
这个应用贴合工作室本来的节奏,而不是让工作室去迁就它。每一步都在发生的时候,由做这件事的人记一次。
餐卡
员工给会员开卡、续卡或升级餐卡。每一笔卖卡收入都会自动记账。
订单
晚上的接龙变成第二天的订单,可以一条条录,也可以批量录。午餐和晚餐是两条独立的订单,每一份都从会员的餐卡里扣。
出餐
手机上的出餐视图把每一份餐从待出餐推到已出餐,再到已送达。已送达是终态,完成的订单不能事后被悄悄改掉。
财务
卖卡和散客餐费自动入账,支出手动录入,当天的数字不用再录第二遍就能对上。
怎么做出来的
- 角色
- 独立开发
- 开始
- 2026 年 4 月
- 平台
- 网页版,另有 iOS 和 Android 测试版
- 状态
- 已上线使用
- TypeScript
- Expo
- React Native
- Hono
- Turso (libSQL)
- Drizzle ORM
- Zod
- Vitest
- Turborepo
- Vercel
- GitHub Actions
同一套 Expo 代码同时构建 iOS、Android 和网页版。应用连到部署在 Vercel 上的 Hono API,数据库用 Turso(libSQL),表结构和迁移交给 Drizzle。
业务规则放在一个共享包里,用 Zod 写成校验规则,应用和 API 用的是同一套。这样表单和服务器对一张有效的订单、一笔有效的支出,理解永远一致。下面的沙盒用普通的 JavaScript 复刻了其中几条。
凡是同时动到餐卡余额和账本的操作,比如取消订单,都放在同一个数据库事务里完成,所以餐卡余额和账本不会对不上。
我的角色
我是唯一的开发者。数据模型和业务规则是我设计的,应用、API 和放规则的共享包也都是我写的。
我把工作分阶段推进,用 Linear 跟踪。项目从 2026 年 4 月 22 日开始,登录、会员、餐卡、订餐和出餐视图在 4 月 25 日前都已上线。之后又陆续加了零售、标签打印,以及整套界面的重新设计。
试一试
这是一个概念演示,不是真实的系统。真实的应用和代码都不公开,因为里面存的是真实的顾客数据。本页的一切都是合成的:会员、餐数、价格和群消息都是虚构的,你在这里的操作也不会离开你的浏览器。
分四步走完工作室的一天:给餐卡充值,把模拟群聊里明天的接龙录成订单,在出餐视图里推进每一份餐,最后看当天的汇总。每一步操作都会写进操作记录,就像真实的应用会留下审计记录一样。
合成数据 · 概念演示,不是真实系统
第 1 步: 给餐卡充值
会员和剩余餐数
- 小安剩 6 餐
- 阿本剩 3 餐
- 可可剩 1 餐
- 大卫剩 12 餐
- 艾拉已用完
- 小凡剩 9 餐
第 2 步: 把接龙录成订单
工作室群聊(模拟)
工作室
明天的接龙。写上名字,午餐写“午”,晚餐写“晚”,后面跟份数,比如:小安 午1 晚1。
可以改动名单来试试这些规则。没有餐卡的散客,在名字后面加上(散客)。每一行都带一个键,同一行录两次也不会多出订单。
录入前检查
- 可录入1. 小安 午1 晚1小安 · 午餐 1,晚餐 1 · 餐卡 6 变 4
- 可录入2. 阿本 午2阿本 · 午餐 2 · 餐卡 3 变 1
- 暂缓3. 可可 午1 晚1可可还剩 1 餐,这次需要 2 餐。请先充值。
- 可录入4. 大卫 晚1大卫 · 晚餐 1 · 餐卡 12 变 11
- 暂缓5. 艾拉 午1艾拉还剩 0 餐,这次需要 1 餐。请先充值。
- 可录入6. 小林(散客) 午1小林 · 午餐 1 · 散客,每份 $16.00,共 $16.00
第 3 步: 出餐统计
| 状态 | 午餐 | 晚餐 |
|---|---|---|
| 待出餐 | 0 | 0 |
| 已出餐 | 0 | 0 |
| 已送达 | 0 | 0 |
订单
还没有订单。先在第 2 步录入接龙。
第 4 步: 当天汇总
- 当天结余
- -$86.40
- 卖卡收入
- $0.00
- 散客餐费
- $0.00
- 支出
- $86.40
- 已送达餐数
- 0 餐
- 餐卡剩余餐数
- 31 餐
流水
- 明天的食材手动-$86.40
操作记录
最新的在最上面。真实的应用会给每一次改动留下审计记录。
还没有操作。试试上面的步骤。
沙盒没有包含的部分
沙盒省略了登录、员工账号、餐卡升级、零售和标签打印。在真实的应用里,接龙是员工通过批量下单表单录入的,自动生成次日接龙汇总还在计划之中。这里由演示替你读取模拟群聊,好让你看到后面的整个流程。
会员、餐包、价格和支出都是虚构的,与工作室本身和使用它的人都无关。