readyride-complete-ondemand-ride-sharing-rider-driver-mobile-apps-with-web-admin-panel

作者 : tideit 本文共3387个字,预计阅读时间需要9分钟 发布时间: 2026-03-11 共4人阅读
# ReadyRide - 完整网约车出行解决方案

## 项目概述

- **项目类型**:全栈移动应用 + Web管理后台(网约车/拼车平台)
- **主要功能**:乘客叫车、司机接单、实时位置追踪、在线支付、行程管理、评价系统、SOS紧急求助
- **技术栈**:
  - 后端:Laravel 11 + PHP 8.2
  - 乘客端:Flutter 3.35 + Dart 3.9 + Riverpod状态管理
  - 司机端:Flutter 3.35 + Dart 3.9 + Riverpod状态管理
  - 数据库:MySQL + Redis
  - 地图服务:Google Maps
  - 实时通信:Pusher + Firebase Messaging

## 模块结构

```
Main-SourceCode-With-Documentation/
├── Laravael Admin Ready To Ride Full SourceCode/
│   ├── install/                    # Laravel后端
│   │   ├── app/
│   │   │   ├── Models/            # 数据模型
│   │   │   ├── Http/              # 控制器和请求
│   │   │   ├── Services/          # 业务服务
│   │   │   ├── Repositories/      # 数据仓库
│   │   │   └── Notifications/     # 通知
│   │   ├── config/                # 配置文件
│   │   ├── database/              # 迁移和种子
│   │   ├── routes/                # 路由定义
│   │   └── resources/             # 视图资源
│   └── update/                    # 更新包
├── Rider Flutter App Full SourceCode/     # 乘客端Flutter应用
│   ├── lib/                       # Dart源码
│   ├── android/                   # Android原生代码
│   ├── ios/                       # iOS原生代码
│   ├── assets/                    # 图片、字体等资源
│   └── pubspec.yaml              # 依赖配置
├── Driver Flutter App Full SourceCode/    # 司机端Flutter应用
│   ├── lib/                       # Dart源码
│   ├── android/                   # Android原生代码
│   ├── ios/                       # iOS原生代码
│   ├── assets/                    # 图片、字体等资源
│   └── pubspec.yaml              # 依赖配置
└── Documentation/                 # 文档
    └── index.html                # 说明文档
```

## 核心业务逻辑

### 1. 用户系统
- **角色分离**:乘客(Rider)、司机(Driver)、管理员(Admin)
- **认证授权**:JWT Token + Laravel Sanctum
- **权限管理**:Spatie Laravel Permission

### 2. 叫车流程
1. 乘客设置上车地点和目的地
2. 系统计算预估价格和路线
3. 乘客确认叫车请求
4. 系统向附近司机推送订单
5. 司机接单并前往上车点
6. 司机确认乘客上车,行程开始
7. 到达目的地,行程结束
8. 乘客支付费用
9. 双方互评

### 3. 实时位置追踪
- **GPS定位**:使用Geolocator和Google Maps
- **实时更新**:通过Pusher WebSocket推送位置更新
- **地图显示**:Google Maps Flutter插件显示车辆和路线

### 4. 支付系统
- **支付方式**:Stripe、Razorpay、Paystack、Braintree、Twilio
- **钱包系统**:内置钱包功能,支持充值和提现
- **优惠券**:支持优惠券和折扣码

### 5. 消息通知
- **推送通知**:Firebase Cloud Messaging
- **实时聊天**:应用内乘客与司机聊天
- **短信通知**:集成Twilio、MessageBird、Vonage

### 6. 安全功能
- **SOS紧急求助**:一键紧急求助功能
- **行程分享**:分享行程给紧急联系人
- **实时追踪**:后台可实时追踪所有行程

## 核心代码分析

### 后端架构 (Laravel)

#### 核心模型
```php
// 主要数据模型
- User.php              # 用户基础模型
- Rider.php             # 乘客模型
- Driver.php            # 司机模型
- Order.php             # 订单模型
- Service.php           # 服务类型模型
- VehicleCategory.php   # 车辆分类
- VehicleBrand.php      # 车辆品牌
- VehicleModel.php      # 车辆型号
- Coupon.php            # 优惠券
- Transaction.php       # 交易记录
- Wallet.php            # 钱包
- Rating.php            # 评分评价
- Complaint.php         # 投诉
- SOS.php               # 紧急求助
- Message.php           # 消息
- Notification.php      # 通知
- Country.php           # 国家
- Currency.php          # 货币
- Language.php          # 语言
```

#### 依赖包
```json
{
  "php": "^8.2",
  "laravel/framework": "^11.9",
  "laravel/sanctum": "^4.0",
  "spatie/laravel-permission": "^6.18",
  "stripe/stripe-php": "^17.3",
  "razorpay/razorpay": "^2.9",
  "pusher/pusher-php-server": "^7.2",
  "kreait/firebase-php": "^7.18",
  "twilio/sdk": "^8.8",
  "vonage/client": "^4.2",
  "maatwebsite/excel": "^3.1",
  "barryvdh/laravel-dompdf": "^3.1"
}
```

### 乘客端Flutter架构

#### 状态管理
- **Riverpod**:使用flutter_riverpod进行状态管理
- **架构模式**:遵循Riverpod推荐的架构模式

#### 核心依赖
```yaml
dependencies:
  flutter_riverpod: ^2.6.1      # 状态管理
  dio: ^5.7.0                    # HTTP请求
  google_maps_flutter: ^2.10.0   # 谷歌地图
  geolocator: ^14.0.0            # GPS定位
  geocoding: ^3.0.0              # 地理编码
  flutter_polyline_points: ^2.1.0 # 路线绘制
  firebase_messaging: ^16.0.1    # 推送通知
  pusher_channels_flutter: ^2.4.0 # 实时通信
  flutter_secure_storage: ^9.2.4 # 安全存储
  cached_network_image: ^3.4.1   # 图片缓存
  lottie: ^3.1.0                 # 动画
```

#### 目录结构
```
lib/
├── main.dart                    # 应用入口
├── l10n/                        # 本地化
├── generated/                   # 生成的代码
├── core/                        # 核心功能
│   ├── constants/              # 常量
│   ├── theme/                  # 主题
│   └── utils/                  # 工具类
├── data/                        # 数据层
│   ├── models/                 # 数据模型
│   ├── repositories/           # 数据仓库
│   └── services/               # 服务
├── presentation/                # 表现层
│   ├── screens/                # 页面
│   ├── widgets/                # 组件
│   └── providers/              # 状态提供者
└── routes/                      # 路由
```

### 司机端Flutter架构

与乘客端类似,但包含司机特定功能:
- **接单管理**:在线/离线状态切换
- **导航功能**:内置导航到乘客位置
- **收入统计**:收入查看和提现
- **行程管理**:当前行程和历史行程

## 数据库设计

### 核心表结构
```sql
-- 用户表
users (id, name, email, phone, password, role, status, ...)

-- 乘客表
riders (id, user_id, profile_image, rating, ...)

-- 司机表
drivers (id, user_id, vehicle_id, license_number, rating, is_online, ...)

-- 订单表
orders (id, rider_id, driver_id, service_id, pickup_location, dropoff_location, 
        status, fare, distance, duration, ...)

-- 车辆表

... (content truncated)

资源在线 » readyride-complete-ondemand-ride-sharing-rider-driver-mobile-apps-with-web-admin-panel

常见问题FAQ

发表评论