项目简介
本项目是一个模拟外卖派单的系统,前端使用React框架生成订单,后端采用Go语言结合Fiber框架处理HTTP请求,依据算法和数据库数据,将订单分配给最近的外卖员,同时利用Goroutine实现订单的并发处理。
项目的主要特性和功能
- 前端订单生成:借助泊松分布模拟订单生成,用户可设置模拟时间和订单数量;使用React和
rsuite
组件库构建界面,实时显示订单信息。 - 后端订单处理:用Fiber框架监听订单请求,为订单生成唯一ID;将订单信息存入数据库,通过Goroutine并发处理;采用分区算法快速找到最近的外卖员并模拟派单。
- 并发处理:运用Go语言的Goroutine实现生产者 - 消费者模型,提升订单处理效率;使用互斥锁保护数据库操作,避免数据竞争。
- 数据库管理:利用数据库存储订单和外卖员信息,实时更新外卖员的状态和位置。
安装使用步骤
假设用户已下载本项目的源码文件,可按以下步骤操作:
1. 复制项目:
bash
cd food-order-distr-system
2. 安装依赖:
- 前端依赖安装:
bash
cd frontend
npm install
- 后端依赖安装:
bash
cd backend
go mod tidy
3. 配置数据库:在backend/config
目录下配置数据库连接信息,确保数据库已启动并可连接。
4. 启动后端服务:
bash
cd backend
go run main.go
5. 启动前端服务:
bash
cd frontend
npm start
6. 访问系统:打开浏览器,访问http://localhost:3000
,使用前端界面生成订单并查看派单过程。
7. 查看运行效果:前端界面实时显示订单信息,后端控制台输出订单处理日志及外卖员状态变化。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】