[Open Source] A Multi-Platform Designated Driver System Featuring a Distributed Microservices Architecture with Separate Front-End and Back-End Applications
![[Open Source] A Multi-Platform Designated Driver System Featuring a Distributed Microservices Architecture with Separate Front-End and Back-End Applications](https://yy123.ink/api/img/1782607411160-mfe9q3.jpg)
1. Project Overview
HXDS - A designated driver mini-program built with Spring Boot / Spring Cloud & Alibaba + uniapp + uView + Vue3 + Element-Ui. The project adopts a distributed microservices architecture with a multi-platform, front-end and back-end separation design. It follows Alibaba development standards, making it easy to maintain and extend. It supports secondary development based on actual requirements and can be easily compiled into iOS/Android apps.
2. Open Source License
Licensed under Apache-2.0
3. Screenshots
Demonstration Picture
1. Driver and passenger login and registration interface

2. Driver and passenger dashboard interface

3. Driver real-name verification interface

4. Staff interface for reviewing driver real-name verification
5. Customer interface for selecting the pickup point, vehicle, and placing a designated driver order

6. Driver interface for starting to accept orders

7. Passenger order creation and driver order-grabbing interface

8. Driver navigation to the designated driving pickup point, arrival confirmation, and passenger confirmation of driver arrival

9. Designated driving service in progress, with a shared interface for driver and passenger

10. Arrival at the destination, completion of the designated driving service, and automatic delivery of the bill to the customer

11. Passenger payment confirmation and order rating

4. Feature Overview
Project Flowchart

Tencent Cloud Services
|
Sequence number |
Cloud Service Name |
Implementation Details |
|
1 |
Cloud Object Storage (COS) |
Stores photos of drivers' identity cards and driver's licenses submitted for real-name verification |
|
2 |
Face Recognition (AiFace) |
Verifies driver identities before they accept orders and provides static liveness detection |
|
3 |
Face Library Management (face-lib) |
Stores facial models collected during driver registration in the cloud for identity matching |
|
4 |
Cloud Infinite (ci) |
Monitors recorded audio and transcribed text to determine whether they contain prohibited content |
|
5 |
OCR Document Recognition Plugin |
Uses OCR to recognize and scan information on identity cards and driver's licenses |
|
6 |
WeChat Speech Translation Plugin |
Converts text into speech for order announcements and converts recordings into text for security monitoring |
|
7 |
Route Planning Plugin |
Plans routes for drivers returning home after work and displays routes for mini-program orders |
|
8 |
Map Location Selection Plugin |
Provides map-based location selection in the mini-program |
|
9 |
Tencent Location Services |
Route planning, positioning and navigation, distance calculation, and travel time estimation |
5. Tech Stack
Architecture Diagram

Technical Overview
-
The backend uses Spring Boot and Spring Cloud & Alibaba.
-
Service Registry and Configuration Center: Nacos
-
Gateway Routing and Proxy Calls: Spring Cloud Gateway (Dynamic Gateway)
-
Declarative Service Calls: Spring Cloud OpenFeign
-
Alibaba Traffic Protection: Sentinel (Rate Limiting, Circuit Breaking, Downgrade, and Load Protection)
-
Distributed Transaction Framework: TX-LCN (LCN Mode)
-
Database Cluster: ShardingSphere 5.0 + MySQL 8.0
System Modules
Microservices BFF Authentication (Sa-Token Authentication and Authorization)
Clients do not directly access the public APIs of the server. Instead, they call the APIs provided by the BFF layer, which then invokes the underlying services. Different clients have their own BFF layers, allowing API interfaces to be customized according to each client's requirements. With the BFF layer, clients only need to initiate a single HTTP request. The BFF layer can then call different services and return the aggregated data to the client. This reduces the number of external HTTP requests and improves response speed.

Technology Stack Overview
|
Sequence number |
Tech Stack |
Implementation Details |
|
1 |
SpringBoot |
Create Microservices Subsystems |
|
2 |
SpringMVC |
Web Layer Framework |
|
3 |
MyBatis |
Persistence Framework |
|
4 |
Feign |
Remote Calls |
|
5 |
TX-LCN |
Distributed Transactions |
|
6 |
RabbitMQ |
System Message Sending and Receiving |
|
7 |
Swagger |
Online Debugging of Web Methods |
|
8 |
QLExpress |
Rule Engine for Calculating Estimated Fees, Cancellation Fees, and More |
|
9 |
Quartz |
Scheduler for Destroying Expired Unaccepted Orders, Automatically Splitting Payments at Scheduled Intervals, and More |
|
10 |
Phoenix |
HBase Data Storage |
|
11 |
Minio |
Private Cloud Storage |
|
12 |
GEO |
GPS Partition-Based Location Calculations |
|
13 |
SaToken |
Authentication and Authorization Framework |
|
14 |
VUE3.0 |
Front-end Framework |
|
15 |
UniAPP |
Mobile Framework |