Skip to content
This repository has been archived by the owner on Mar 25, 2024. It is now read-only.

Latest commit

 

History

History
109 lines (85 loc) · 2.54 KB

README.md

File metadata and controls

109 lines (85 loc) · 2.54 KB

饱了吧外卖订餐系统

站在系统设计者的角度从零开始构建一个外卖订餐系统

  • 多用户,多商家,多骑手O2O订餐系统

传送门:

消费者前端工程:https://github.com/0xcaffebabe/blb-consumer-frontend

计划

  • 需求分析
  • 边界划分
  • 架构设计
  • 后端开发
    • 接口设计
    • 基础设施服务开发
    • 业务服务开发
      • 购物车服务
      • 商品服务
      • 订餐者服务
      • 店铺服务
      • 订单服务
      • 骑手服务
      • 支付服务
      • 商家服务
      • 位置服务
    • 聚合服务开发
      • 消费者聚合服务
      • 骑手聚合服务
      • 商家聚合服务
      • 管理员聚合服务
  • 前端开发
    • 消费者前端
      • 页面设计
      • 业务逻辑开发
    • 商家前端
      • 页面设计
      • 业务逻辑
    • 骑手前端
      • 页面设计
      • 业务逻辑
    • 管理系统
  • 前后端联调
  • 各客户端联调
    • 功能优化
  • 部署运维
  • 尝试优化
  • 结束

碎碎念

终于,历时两个月的时间,整个项目的结构基本起来了,由于时间原因,前端我只挑了选购-下单-支付-出餐-配送这条主线进行编写

其他诸如评价等的功能后端已经完成,但是前端没有完成

从设计到技术选型,再到项目搭建,也算是把最近六个月学的东西应用到实践中,同时也尝试了编写一些自动化脚本,来提高效率

从零开始构建一个项目,取舍很多,坑也很多,但当前期把所有的坑都踩的差不多的时候,后面效率也就起来了

总体来说,这个项目的目的达到了,后面可能会对它进行一些小修小补,这应该会是我最后一个以学习为目的构建的业务系统了。

技术架构

技术栈

后端

基础设施

  • 容器管理:docker
  • 数据库:mysql
  • 注册中心/配置中心:nacos
  • 消息队列:rabbitmq
  • 文件服务器:fastdfs

框架

  • 微服务框架:spring cloud
  • 单元测试
    • junit5
    • mockito
    • spring boot test
    • h2
  • 文档管理:swagger
  • 服务调用:open feign
  • 服务熔断/降级:alibaba sentinel

运维

  • 持续集成:github action

前端

  • 包管理:npm
  • 项目结构:vue cli
  • 打包:webpack
  • 框架:vue
    • vuex
    • vue router
  • 移动端框架:uniapp
  • ui框架:element ui
  • css loader:less
  • 地图组件:amap
  • ajax:axios
  • 单元测试:jest