练手项目--苍穹外卖

https://www.bilibili.com/video/BV1iXyGBzEWV/?spm_id_from=333.1387.homepage.video_card.click&vd_source=a40b93c9f549b44cf005694a8c0b7944)

✍ 启动步骤

  1. 打开 MYSQL WORKBENCH 导入数据
  2. 打开 Redis 的文件夹,cmd 进入,执行 redis-server.exe redis.windows.conf 启动,再打开 Redis 的客户端
  3. 打开浏览器“微信公众号”,扫码进入,点击开发管理,记住 AppID 和 AppSecert
  4. 打开 IDEA 启动后端,打开 D:\project\1\all\sky\sky-server\src\main\resources 里的两个配置文件
    ![[Pasted image 20251118114743.png]]
    修改 database、redis、weixin 等的配置,maven 构建,run
  5. 打开 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 请求,获取对应的响应结果
posted @ 2025-11-18 15:56  追狐狸的彗星  阅读(4)  评论(0)    收藏  举报