001 SaaS点餐系统介绍
001 SaaS点餐系统介绍
前言
在开始AI点餐助手之前,先要把菜品和订单这两个功能搞定。
因此,我们需要先把Saas点餐系统的基础功能搞定了之后,再开始一起开发AI点餐助手,不然,会没有数据来源。
1.什么是Saas?
SaaS(Software as a Service,软件即服务)是一种将软件部署在云端服务器上,通过互联网向用户提供应用软件服务的模式。
用户通常通过订阅的方式,按需支付服务费用,而无需购买、安装和运维软件及相关硬件。
SaaS服务商负责软件的维护、更新和安全保障,使用户能够随时随地通过网络访问最新版本的软件。
试想一下,以前餐饮行业的老板,如果想拥有一套点餐系统,需要找人开发、部署,还需要维护,又费钱,又费时间。
但如果现在你有一套Saas点餐系统,餐饮行业的老板,只需要付你一点钱,就能让用户使用你的点餐系统。
这样不是可以省很多事情。
而且成本也降低了。
这个就是Saas点餐系统的价值。
2.Saas点餐系统的规划
目前Saas点餐系统分为三个端:
- 顾客端
- 商家端
- 管理端
2.1 顾客端
顾客端的用户,可以通过手机扫描二维码,在点餐小程序中完成点餐。
2.2 商家端
商家端的用户,可以通过手机号或者微信登录点餐后台小程序,可以看到每日用户点餐的情况,价格,收入等。
该用户还能,新增、修改或删除菜品,修改订单状态,给用户退款等。
2.3 管理端
管理端是Saas点餐系统的运营人员。
可以管理商家端和顾客端的用户。
可以创建、修改和删除商家端用户,给他们分配权限等。
可以配置佣金方式。
查看订单情况,退款情况,收入情况,结算情况等。
3.技术选型
Saas点餐系统定位的是一个高并发大数据量,并且业务上有些复杂的系统。
因此,我们打算采用微服务架构。
它是基于Saas的微服务架构,是之前商城微服务的升级版,复杂度更高一些。
3.1 后端技术栈
- 编程语言 : Java21
- 开发框架:SpringBoot 3.5 + SpringCloud Alibaba2024
- 持久化框架:MyBatis-plus
- 数据库 : PostgreSQL 15+ (主数据库)
- 缓存 : Redis 7.x (分布式缓存)
- 消息队列 : RocketMQ (订单处理、通知)
- 搜索引擎 : Elasticsearch (菜品搜索、数据分析)
- 文件存储 : MinIO (菜品图片、文档存储)
3.2 前端技术栈
- 管理端 : Vue 3 + Element Plus + TypeScript
- 商家端 : uni-app 3.x + Vue 3 + uni-ui + uView Plus
- 顾客端 : uni-app 3.x + Vue 3 + uni-ui + uView Plus
- 构建工具 : Vite
3.3 基础设施
- 容器化 : Docker + Kubernetes
- 网关 : Spring Cloud Gateway
- 服务注册 : Nacos
- 配置中心 : Nacos Config
- 监控 : Prometheus + Grafana
- 日志 : ELK Stack
- CI/CD : GitLab CI/CD
4.后端微服务划分
咱们的微服务划分如下:
- 用户服务(顾客)
- 菜品服务
- 商家服务
- 订单服务
- 支付服务
- 通知服务
5.功能规划
顾客端小程序
- 首页浏览
- 菜单点餐
- 购物车
- 订单跟踪
商家端小程序 - 仪表板
- 菜品管理
- 订单管理
- 商家设置
管理后台Web - 用户管理
- 角色管理
- 分类管理
- 商家审核
- 用户列表
- 佣金管理
- 结算管理
- 系统配置
实际开发的过程中,可能会有一些调整。
Saas点餐系统最大的难点是:不同的商家之间的数据,是如何保证安全的,不会串数据,而且公共的数据,比如:分类、通知,是如何保证多个商家数据共享的?
下一篇文章中,会介绍Saas点餐系统的多租户数据隔离和共享方案。