← 返回锻造场
已交付 Next.js物联网支付WhatsApp

Lavvo — 智能储物柜球鞋洗护.

依托健身房与俱乐部内无人智能储物柜运营的高端球鞋洗护服务。用户通过 App 投放,运营团队按地理集群取件,48 小时内送回同一柜门。

客户
Lavvo
周期
2026
角色
架构师兼主力开发

Domain models

27

Application code

~18k LOC

User roles

4

Turnaround

48h

lavvo.app
lavvo.app
lavvo.app
lavvo.app
lavvo.app
lavvo.app
lavvo.app
lavvo.app
lavvo.app

问题

球鞋洗护要规模化,取件与送回就不能依赖现场有人。方案是在合作场地部署无人储物柜——这把一门服务生意变成了分布式硬件问题:柜门必须在正确的时刻为正确的人打开,取件路线必须知道每扇门后装了什么,合作方必须信任分成结算。

之上还压着巴西的税务义务:每一次洗护都是一张服务发票,电子服务发票(NFS-e)并非可选项。

解决方案

一套系统覆盖运营的四个侧面,各有独立界面与权限:客户端 App(投放、跟踪、取回)、运营队列(按集群取件与改期)、合作方面板(流量与分成),以及管理后台(储物柜、柜门、订单、优惠券、广告、发票)。

  • 投放流程有引导——关门前 App 会带着用户从四个角度拍照,把状态争议消灭在发生之前。
  • 支付通过 Asaas 走 Pix,并保留一条模拟支付路径,让整个流程无需接触真实网关即可演示。
  • 通知通过 WhatsApp Cloud API 按排程发出,因为客户本来就在那里。

系统架构

单一 Next.js 应用,基于 Server Actions 与 RSC——没有需要同步的独立 API 服务——Prisma 之上是 PostgreSQL,四种角色之间有严格的 RBAC 边界。

  • 储物柜硬件。厂商 API 要求从固定 IP 以明文 HTTP 发送签名请求,因此置于专用 HTTPS 代理之后。请求签名有单元测试覆盖,柜门事件经由 webhook 回传。
  • NFS-e Nacional。完整实现而非第三方封装:DPS XML 生成、A1 企业证书以 AES-256-GCM 静态加密保存、XML-DSig 签名。
  • 定时任务。Cron 路由驱动通知节奏,并在留存窗口关闭时清除客户照片。

成果

整个周期无人值守:客户从不需要见到员工,合作场地除了放置储物柜之外什么都不用做。发票开具无需人工介入,演示种子数据可在本地复现完整运营——正因如此,这篇案例没有暴露任何一条真实客户记录。

完整技术栈

Next.js 16 (App Router)React 19TypeScriptPrisma 7PostgreSQL 17Auth.js v5Tailwind v4LeafletAsaas (Pix)WhatsApp Cloud APIVercel BlobVitest
João Afonso Assumpção 系统架构师 · 自动化工程师 · 解决方案构建者
© 2026 · 版权所有。 使用 SvelteKit 构建