站在系统设计者的角度从零开始构建一个外卖订餐系统
- 多用户,多商家,多骑手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