练手项目--苍穹外卖
✍ 启动步骤
- 打开 MYSQL WORKBENCH 导入数据
- 打开 Redis 的文件夹,cmd 进入,执行
redis-server.exe redis.windows.conf启动,再打开 Redis 的客户端 - 打开浏览器“微信公众号”,扫码进入,点击开发管理,记住 AppID 和 AppSecert
- 打开 IDEA 启动后端,打开
D:\project\1\all\sky\sky-server\src\main\resources里的两个配置文件
![[Pasted image 20251118114743.png]]
修改 database、redis、weixin 等的配置,maven 构建,run - 打开
D:\project\1\all\project-sky-admin-vue-ts的 cmd,执行:
set NODE_OPTIONS=--openssl-legacy-provider
npm run serve
打开管理员的前端,等待网址,点开
6. 打开微信开发工具,导入文件 D:\project\1\all\mp-weixin,编译运行
🛠 技术架构
参考链接:技术架构详解
![[Pasted image 20251118121342.png]]
Spring Boot 后端采用三层架构:
- Control - 控制层
- Service - 业务服务层
- Mapper - 数据访问层
📦 项目模块说明
主要模块
| 序号 | 名称 | 说明 |
|---|---|---|
| 1 | sky-take-out | maven 父工程,统一管理依赖版本,聚合其他子模块 |
| 2 | sky-common | 子模块,存放公共类,例如:工具类、常量类、异常类等 |
| 3 | sky-pojo | 子模块,存放实体类、VO、DTO 等 |
| 4 | sky-server | 子模块,后端服务,存放配置文件、Controller、Service、Mapper 等 |
sky-common 模块
| 名称 | 说明 |
|---|---|
| constant | 存放相关常量类 |
| context | 存放上下文类 |
| enumeration | 项目的枚举类存储 |
| exception | 存放自定义异常类 |
| json | 处理 json 转换的类 |
| properties | 存放 SpringBoot 相关的配置属性类 |
| result | 返回结果类的封装 |
| utils | 常用工具类 |
sky-pojo 模块
| 名称 | 说明 |
|---|---|
| Entity | 实体,通常和数据库中的表对应 |
| DTO | 数据传输对象,通常用于程序中各层之间传递数据 |
| VO | 视图对象,为前端展示数据提供的对象 |
| POJO | 普通 Java 对象,只有属性和对应的 getter 和 setter |
sky-server 模块
| 名称 | 说明 |
|---|---|
| config | 存放配置类 |
| controller | 存放 controller 类 |
| interceptor | 存放拦截器类 |
| mapper | 存放 mapper 接口 |
| service | 存放 service 类 |
| SkyApplication | 启动类 |
🗃 数据库表
| 序号 | 表名 | 中文名 |
|---|---|---|
| 1 | employee | 员工表 |
| 2 | category | 分类表 |
| 3 | dish | 菜品表 |
| 4 | dish_flavor | 菜品口味表 |
| 5 | setmeal | 套餐表 |
| 6 | setmeal_dish | 套餐菜品关系表 |
| 7 | user | 用户表 |
| 8 | address_book | 地址表 |
| 9 | shopping_cart | 购物车表 |
| 10 | orders | 订单表 |
| 11 | order_detail | 订单明细表 |
🏗 系统架构层次

1) 用户层
- 后台管理前端:H5、Vue.js、ElementUI、apache echarts(展示图表)
- 移动端应用:微信小程序
2) 网关层
Nginx:服务器,Http 服务器,部署静态资源,访问性能高。反向代理和负载均衡。可实现 Tomcat 的负载均衡。可前后端地址不一样时前后连接。
3) 应用层
- SpringBoot:快速构建 Spring 项目,"约定优于配置",简化 Spring 项目的配置开发
- SpringMVC:SpringMVC 是 Spring 框架的一个模块,和 Spring 无需通过中间整合层即可无缝集成
- Spring Task:Spring 的定时任务框架
- httpclient:HTTP 请求的发送
- Spring Cache:Spring 提供的数据缓存框架
- JWT:令牌,拦截。标记应用程序上的用户(身份验证)
- 阿里云 OSS:对象存储服务,存储文件,如图片等
- Swagger:自动生成接口文档,并支持接口测试。接口文档访问路径为
http://ip:port/doc.html - POI:封装了对 Excel 表格的常用操作
- WebSocket:通信网络协议,使客户端和服务器之间的数据交换更加简单,用于项目的来单、催单功能实现
4) 数据层
- MySQL:关系型数据库,数据存储
- Redis:基于 key-value 格式存储的内存数据库,访问速度快,缓存菜品数据,加快查询
- Mybatis:持久层将会使用 Mybatis 开发
- pagehelper:分页插件
- spring data redis:简化 java 代码操作 Redis 的 API
5) 工具
- git:版本控制工具
- maven:项目构建工具
- junit:单元测试工具,功能实现后,通过 junit 对功能进行单元测试
- postman:接口测试工具,模拟用户发起的各类 HTTP 请求,获取对应的响应结果

浙公网安备 33010602011771号