# rplk3/ridelink architecture

> Architecture diagram of the GitHub repository rplk3/ridelink, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-28). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/rplk3/ridelink
- Repository: https://github.com/rplk3/ridelink

## Overview

RideLink is a Spring Boot ride-sharing backend. The sampled services expose account/authentication and driver/vehicle workflows; the README also identifies ride lifecycle and fare/payment services, but their source is absent from the tree. Those documented capabilities are shown without inferred implementation paths or cross-service wiring. Driver service implementations and security-filter behavior were not sampled, so their internal calls are not expanded.

Main entry points: [`account-service/src/main/java/com/ridelink/account_service/controller/AuthController.java`](https://github.com/rplk3/ridelink/blob/main/account-service/src/main/java/com/ridelink/account_service/controller/AuthController.java) (Auth API), [`account-service/src/main/java/com/ridelink/account_service/service/AccountService.java`](https://github.com/rplk3/ridelink/blob/main/account-service/src/main/java/com/ridelink/account_service/service/AccountService.java) (Account service), [`account-service/src/main/java/com/ridelink/account_service/repository/UserRepository.java`](https://github.com/rplk3/ridelink/blob/main/account-service/src/main/java/com/ridelink/account_service/repository/UserRepository.java) (User repository), [`driver-vehicle-service/src/main/java/com/ridelink/driver_vehicle_service/controller/DriverController.java`](https://github.com/rplk3/ridelink/blob/main/driver-vehicle-service/src/main/java/com/ridelink/driver_vehicle_service/controller/DriverController.java) (Driver API)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_accounts["Accounts &amp; Auth"]
  node_auth_api["Auth API"]
  node_account_logic["Account service"]
  node_jwt["JWT service<br/>[JwtService.java]"]
  node_jwt_filter["JWT filter"]
  node_user_repo["User repository"]
  node_user_db[("Account MongoDB")]
end

subgraph group_fleet["Driver &amp; Vehicle"]
  node_driver_api["Driver API"]
  node_driver_logic["Driver service<br/>[DriverService.java]"]
  node_driver_impl["Driver service impl"]
  node_driver_repo["Driver repository"]
  node_vehicle_api["Vehicle API"]
  node_vehicle_logic["Vehicle service"]
  node_vehicle_impl["Vehicle service impl"]
  node_vehicle_repo["Vehicle repository"]
  node_fleet_db[("Fleet MongoDB")]
end

subgraph group_rides["Ride Lifecycle"]
  node_ride_service["Ride management"]
end

subgraph group_payments["Fare &amp; Payment"]
  node_fare_service["Fare &amp; payment"]
end

node_rider(("API client"))

node_rider -->|"HTTP requests"| node_auth_api
node_auth_api -->|"delegates"| node_account_logic
node_auth_api -->|"generates token"| node_jwt
node_account_logic -->|"reads/writes users"| node_user_repo
node_user_repo -->|"Mongo persistence"| node_user_db
node_rider -->|"HTTP requests"| node_driver_api
node_driver_api -->|"delegates"| node_driver_logic
node_vehicle_api -->|"delegates"| node_vehicle_logic
node_driver_impl -->|"implements"| node_driver_logic
node_vehicle_impl -->|"implements"| node_vehicle_logic
node_driver_repo -->|"Mongo persistence"| node_fleet_db
node_vehicle_repo -->|"Mongo persistence"| node_fleet_db

click node_auth_api "https://github.com/rplk3/ridelink/blob/main/account-service/src/main/java/com/ridelink/account_service/controller/AuthController.java"
click node_account_logic "https://github.com/rplk3/ridelink/blob/main/account-service/src/main/java/com/ridelink/account_service/service/AccountService.java"
click node_jwt "https://github.com/rplk3/ridelink/blob/main/account-service/src/main/java/com/ridelink/account_service/security/JwtService.java"
click node_jwt_filter "https://github.com/rplk3/ridelink/blob/main/account-service/src/main/java/com/ridelink/account_service/security/JwtAuthenticationFilter.java"
click node_user_repo "https://github.com/rplk3/ridelink/blob/main/account-service/src/main/java/com/ridelink/account_service/repository/UserRepository.java"
click node_driver_api "https://github.com/rplk3/ridelink/blob/main/driver-vehicle-service/src/main/java/com/ridelink/driver_vehicle_service/controller/DriverController.java"
click node_driver_logic "https://github.com/rplk3/ridelink/blob/main/driver-vehicle-service/src/main/java/com/ridelink/driver_vehicle_service/service/DriverService.java"
click node_driver_impl "https://github.com/rplk3/ridelink/blob/main/driver-vehicle-service/src/main/java/com/ridelink/driver_vehicle_service/service/DriverServiceImpl.java"
click node_driver_repo "https://github.com/rplk3/ridelink/blob/main/driver-vehicle-service/src/main/java/com/ridelink/driver_vehicle_service/repository/DriverRepository.java"
click node_vehicle_api "https://github.com/rplk3/ridelink/blob/main/driver-vehicle-service/src/main/java/com/ridelink/driver_vehicle_service/controller/VehicleController.java"
click node_vehicle_logic "https://github.com/rplk3/ridelink/blob/main/driver-vehicle-service/src/main/java/com/ridelink/driver_vehicle_service/service/VehicleService.java"
click node_vehicle_impl "https://github.com/rplk3/ridelink/blob/main/driver-vehicle-service/src/main/java/com/ridelink/driver_vehicle_service/service/VehicleServiceImpl.java"
click node_vehicle_repo "https://github.com/rplk3/ridelink/blob/main/driver-vehicle-service/src/main/java/com/ridelink/driver_vehicle_service/repository/VehicleRepository.java"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_auth_api,node_account_logic,node_jwt,node_jwt_filter,node_user_repo,node_user_db,node_rider toneBlue
class node_driver_api,node_driver_logic,node_driver_impl,node_driver_repo,node_vehicle_api,node_vehicle_logic,node_vehicle_impl,node_vehicle_repo,node_fleet_db toneAmber
class node_ride_service toneMint
class node_fare_service toneRose
```

## Components

### Accounts & Auth

- [Auth API](https://github.com/rplk3/ridelink/blob/main/account-service/src/main/java/com/ridelink/account_service/controller/AuthController.java): `account-service/src/main/java/com/ridelink/account_service/controller/AuthController.java`
- [Account service](https://github.com/rplk3/ridelink/blob/main/account-service/src/main/java/com/ridelink/account_service/service/AccountService.java): `account-service/src/main/java/com/ridelink/account_service/service/AccountService.java`
- [JWT service](https://github.com/rplk3/ridelink/blob/main/account-service/src/main/java/com/ridelink/account_service/security/JwtService.java): `account-service/src/main/java/com/ridelink/account_service/security/JwtService.java`
- [JWT filter](https://github.com/rplk3/ridelink/blob/main/account-service/src/main/java/com/ridelink/account_service/security/JwtAuthenticationFilter.java): `account-service/src/main/java/com/ridelink/account_service/security/JwtAuthenticationFilter.java`
- [User repository](https://github.com/rplk3/ridelink/blob/main/account-service/src/main/java/com/ridelink/account_service/repository/UserRepository.java): `account-service/src/main/java/com/ridelink/account_service/repository/UserRepository.java`
- **Account MongoDB**

### Driver & Vehicle

- [Driver API](https://github.com/rplk3/ridelink/blob/main/driver-vehicle-service/src/main/java/com/ridelink/driver_vehicle_service/controller/DriverController.java): `driver-vehicle-service/src/main/java/com/ridelink/driver_vehicle_service/controller/DriverController.java`
- [Driver service](https://github.com/rplk3/ridelink/blob/main/driver-vehicle-service/src/main/java/com/ridelink/driver_vehicle_service/service/DriverService.java): `driver-vehicle-service/src/main/java/com/ridelink/driver_vehicle_service/service/DriverService.java`
- [Driver service impl](https://github.com/rplk3/ridelink/blob/main/driver-vehicle-service/src/main/java/com/ridelink/driver_vehicle_service/service/DriverServiceImpl.java): `driver-vehicle-service/src/main/java/com/ridelink/driver_vehicle_service/service/DriverServiceImpl.java`
- [Driver repository](https://github.com/rplk3/ridelink/blob/main/driver-vehicle-service/src/main/java/com/ridelink/driver_vehicle_service/repository/DriverRepository.java): `driver-vehicle-service/src/main/java/com/ridelink/driver_vehicle_service/repository/DriverRepository.java`
- [Vehicle API](https://github.com/rplk3/ridelink/blob/main/driver-vehicle-service/src/main/java/com/ridelink/driver_vehicle_service/controller/VehicleController.java): `driver-vehicle-service/src/main/java/com/ridelink/driver_vehicle_service/controller/VehicleController.java`
- [Vehicle service](https://github.com/rplk3/ridelink/blob/main/driver-vehicle-service/src/main/java/com/ridelink/driver_vehicle_service/service/VehicleService.java): `driver-vehicle-service/src/main/java/com/ridelink/driver_vehicle_service/service/VehicleService.java`
- [Vehicle service impl](https://github.com/rplk3/ridelink/blob/main/driver-vehicle-service/src/main/java/com/ridelink/driver_vehicle_service/service/VehicleServiceImpl.java): `driver-vehicle-service/src/main/java/com/ridelink/driver_vehicle_service/service/VehicleServiceImpl.java`
- [Vehicle repository](https://github.com/rplk3/ridelink/blob/main/driver-vehicle-service/src/main/java/com/ridelink/driver_vehicle_service/repository/VehicleRepository.java): `driver-vehicle-service/src/main/java/com/ridelink/driver_vehicle_service/repository/VehicleRepository.java`
- **Fleet MongoDB**

### Ride Lifecycle

- **Ride management**

### Fare & Payment

- **Fare & payment**

### Other components

- **API client**

## Connections

- API client → Auth API: HTTP requests
- Auth API → Account service: delegates
- Auth API → JWT service: generates token
- Account service → User repository: reads/writes users
- User repository → Account MongoDB: Mongo persistence
- API client → Driver API: HTTP requests
- Driver API → Driver service: delegates
- Vehicle API → Vehicle service: delegates
- Driver service impl → Driver service: implements
- Vehicle service impl → Vehicle service: implements
- Driver repository → Fleet MongoDB: Mongo persistence
- Vehicle repository → Fleet MongoDB: Mongo persistence
