Skip to content

苍穹外卖 SkyTakeOut ​

GitHub: SkyTakeOut

项目简介 ​

苍穹外卖是一个基于 Java 开发的在线外卖平台系统,是我自学过程中完成的一个实战项目。整个项目历时约 27 个小时,分 12 天完成,涵盖了从后端接口开发到微信小程序前端的完整流程。对于一个练手项目来说,功能覆盖面还是挺全的。

技术栈 ​

后端: Java、Spring Boot、Spring MVC、MyBatis-Plus、Spring Cache、Spring Task

数据库: MySQL、Redis

其他: Swagger(接口文档)、WebSocket(消息推送)、Apache Echart(数据可视化)、Apache POI(Excel 导出)

外部工具: PageHelper(分页)、AliyunOSS(文件存储)、微信小程序开发者工具

主要功能 ​

用户端 ​

  • 浏览商品、分类筛选
  • 加入购物车、修改数量
  • 提交订单、查看订单状态
  • 伪微信支付流程
  • 催单功能
  • 收货地址管理

商家端 ​

  • 登录验证(JWT)
  • 员工管理(CRUD + 权限控制)
  • 订单管理(接单、拒单、完成)
  • 菜品管理(含阿里云 OSS 图片上传)
  • 套餐管理
  • 分类管理
  • 数据统计(Apache Echart 可视化)
  • 报表导出(Apache POI 生成 Excel)
  • 工作台(今日数据概览)

其他功能 ​

  • 微信小程序开发
  • 伪微信支付模拟
  • WebSocket 订单状态实时推送
  • Spring Task 定时处理超时订单

开发进展 ​

整个项目的开发过程记录如下,总计约 27 小时:

阶段内容累计耗时
Day 01-02开发环境搭建 + 员工模块5.5H
Day 03-04公共字段自动填充 + 菜品模块 + 套餐模块9H
Day 05-06Redis 入门 + 微信小程序开发14.5H
Day 07-08缓存套餐 + 购物车 + 下单 + 伪造微信支付20.5H
Day 09-10实战优化 + Spring Task + WebSocket22.5H
Day 11-12统计模块 + 工作台 + Excel 报表导出27H

个人感受 ​

这个项目做下来,最大的收获是对 SpringBoot 全家桶有了更实际的理解。之前学 MyBatis-Plus、Redis、Spring Cache 这些技术的时候都是零散的知识点,通过这个项目把它们串在一起用了,理解就深刻多了。

微信小程序那部分也是第一次接触,虽然前端不是我的重点,但了解小程序和后端的交互方式还是很有必要的。WebSocket 实现订单推送那块也挺有意思,做出来能看到实时效果,成就感不错。

如果你也在学 SpringBoot 全栈开发,苍穹外卖是一个不错的练手项目,推荐试试。