B-Navigator: EV-first mobility solution

Akash Girme

Source Code on Github
Project is in development.

B-Navigator is an innovative bike aggregation service that allows users to search for rides and also publish their own rides, enabling them to accept other users as customers. This platform primarily focuses on electric vehicles (EVs), promoting sustainable transportation options.

Key Features

Technology Stack

The backend service of B-Navigator is built using following technologies:

Application System Design

 

image  

The platform is built using a monolithic architecture, with various modules serving distinct functions within the application.

Components

  1. User/Client App (Android)
  2. Rider App (Android)
  3. API Gateway/Load Balancer
  4. User Module/Service
  5. Ride Module
  6. Ride Matching Service
  7. Location Service
  8. Notification Service
  9. PostgreSQL Database
  10. Match Queue
  11. Fare Estimation & Mapping Module

Detailed Component Descriptions

1. User/Client App (Android)

The User App serves as the primary interface for customers to interact with the platform. Users can:

2. Rider App (Android)

The Rider App is designed for the riders providing services on the platform. Key features include:

3. API Gateway/Load Balancer

This component manages incoming requests to the backend services, ensuring efficient load distribution and system reliability. It handles:

4. User Module/Service

This module is responsible for managing user accounts and rider registrations, including:

5. Ride Module

The Ride Module orchestrates all tasks related to ride requests:

6. Ride Matching Service

This service matches ride requests with nearby riders:

7. Location Service

The Location Service tracks rider locations in real-time:

8. Notification Service

This service manages notifications sent to both users and riders:

9. PostgreSQL Database

The primary database for storing all essential data, including:

10. Match Queue

A communication queue that facilitates interaction between the Ride Module and Ride Matching Service:

11. Fare Estimation & Mapping Module

This module calculates fares based on distance and time estimates:

ER Diagram

You can checkout ER Diagram on lucidchart.