悦邻居 · 美容小店多租户 SaaS 平台产品系统

我要开发同款
明扬Python后端2026年11月07日
8阅读

技术信息

语言技术
Vue、TypeScript、Node.js、ElementUI
系统类型
Web、小程序轻应用
行业分类
生活旅游、企业服务

作品详情

行业场景

国内美容门店以个体小店为主,绝大多数是单店经营,老板既做服务又管账:预约靠微信和纸质本子,同一技师同一时段容易被重复占用;次卡、储值、疗程的剩余次数和余额靠手工登记,漏记错记难对账;客户档案、服务记录散落在技师个人手里,换人就断档;一旦想开第二家店,各店数据互不相通,总部也看不到全局。市面上的成熟 SaaS 多按连锁门店设计、价格与复杂度都偏高,个体户很难用起来,行业数字化渗透率长期偏低。

本项目立项时把定位收敛成一句话:给个体美容店做一套低成本、开箱即用的预约与会员管理工具,把扫码进店、预约排期、次卡储值、技师排班、服务档案、经营日报这几个高频动作从微信和本子里搬进系统。架构上从第一版就把多租户数据隔离定为最高优先级——交付的不是单店自用工具,而是一套系统服务多家彼此独立的门店;同时刻意选择记账制而非在线支付,由系统记录资金与卡项流水、线下完成收款,规避二清与资金合规风险,让小门店零门槛先用起来。

功能介绍

系统为一套多租户 SaaS,包含 PC 管理后台、H5 工作台与微信小程序顾客端,主要功能模块如下:

1. 多租户与平台运营:门店入驻申请与开通、平台超管总览、租户级角色权限;业务表按 tenantId 强隔离,平台超管是唯一跨租户入口。
2. 预约与排班:技师周排班、可约时段计算、档期锁与时段冲突检测;支持下单、确认、取消、完成、爽约、签到及核销记账,覆盖预约全生命周期。
3. 会员、钱包与卡项:会员档案与标签字典、记账制钱包(手工充值、开次卡、消费流水与事后余额)、优惠券三类(现金/折扣/赠送)与积分规则及流水。
4. 项目、套餐与评价:服务项目的图集/标签/划线价/评分,套餐按「项目 × 次数」组合,分类字典自动补登记与改名级联;评价仅已核销可发表,一预约限一条,支持商家回复与评分汇总刷新。
5. 服务档案:按「问题 → 方案 → 过程记录」组织,指标分「分类—指标项—指标值」三级;按方案预生成记录、核销后自动推进,采集授权与对外展示授权分开管理。
6. 套餐订阅与功能门禁:4 个版本 × 3 个周期的订阅 SKU,功能点与配额按版本拦截,未开通的能力返回 402 并在前端引导升级。
7. 营销与门店装修:平台/私有素材库及使用埋点,首页装修预设与模块开关、排序、配色,门店二维码与游客只读浏览,通知模板与站内收件箱。
8. 经营分析与多端:营业日报;KPI、趋势、支付结构、项目与技师排行、会员分层、复购分析及 CSV 导出;PC 后台、技师/店主 H5 工作台与顾客小程序共用一套接口,按 UA 分流。

项目实现

本人独立完成需求梳理、架构设计、数据库建模、前后端开发与联调验证,覆盖服务端、管理后台、顾客小程序及 H5 工作台,累计约 5 万行源码、224 个 HTTP 接口、39 个实体。

技术栈:NestJS 10 + TypeScript + Node 20,TypeORM + MySQL 8 + Redis 7;管理后台 Vue3 + Element Plus + Pinia + Vite,顾客端 uni-app 编译为微信小程序;Swagger 自动生成接口文档,已部署线上演示站。

实现关键点:
1. 多租户隔离三层:AsyncLocalStorage 保存租户上下文,中间件从 JWT 解析注入,TypeORM subscriber 写入时兜底补全 tenantId,全程不接受前端传入的 tenantId;所有唯一索引一律带 tenantId。
2. 预约防超约四道防线:Redis NX 档期锁 → [start, end) 区间重叠复查 → slotHold 唯一索引(占位列模拟 MySQL 不支持的部分索引)→ 捕获重复键转 409,同时避免已取消预约永久占时段。
3. 核销收敛在单个数据库事务:券与积分抵扣、预扣释放及差额退款、状态流转、销量自增、钱包结算一并提交,失败整体回滚;通知与档案推进放在事务外旁路执行并吞异常,避免非核心链路拖垮已成功的记账。
4. 资金口径统一:金额以「分」存整数,流水记录事后余额;下单即预扣额度,防止一份余额约满一周;营业额按流水关联已核销预约统计,充值与开卡计预收、不计营收,日报与经营分析共用同一口径。
5. 全局三守卫链(登录 / 角色 / 功能门禁)配合 ValidationPipe 白名单剥离未声明字段;21 个自动化冒烟脚本做端到端回归,覆盖预约、钱包、订阅、券积分、服务档案等数百项用例。

示例图片

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论