AI-Driven Fleet Management Platform

Task

Develop Android and iOS applications for clients and drivers.

Integrate vehicle issue detection using the mobile client and machine learning.

  • Mobile Development
  • Integrations
  • AI

Technologies

  • RxJava

    RxJava

  • Koin

    Koin

  • Live Data

    Live Data

  • Single Activity

    Single Activity

  • Kotlin

    Kotlin

  • Swift

    Swift

  • Retrofit

    Retrofit

Intergrations

  • Google Maps

    Google Maps

Project Overview

This platform connects customers with service providers, including taxi fleets, logistics companies, and service stations. It manages the entire transportation lifecycle, from budgeting and job creation to route execution and final reporting.

Results

We enabled complete vehicle inspections via AI-processed photographs and integrated features for vehicle repairs, parking reservations, tyre services, and car washes.

Additionally, we added multi-factor authentication, poor connection protection, time zone updates, and systems for authorisation, status changes, and job distribution.

Driver Application

Drivers receive taxi and cargo delivery requests and can schedule vehicle inspections and repairs.

Our team developed systems for authorisation, status changes, and job distribution for taxi and cargo delivery. We optimised the taxi use process, the integrated camera, and AI functionalities.

Data Security

To ensure user data security, we added multi-factor authentication. Logging in with a username and password prompts the app to request a verification code sent via email. Users can also set a security passcode, which can be entered using biometric authentication.

Automatic Driver Status Changes

After the initial login, a «Go Online» button appears on the main screen. When pressed, the server sends a request to the vehicle. Once the driver accepts, their status changes to «Online,» indicating they are ready to accept orders. When the shift ends, and the driver stops receiving orders, the status changes to «Offline.»

Thoughtful Navigation

Upon accepting a request, the map switches to navigation mode. Thanks to NavigationControl, the interface provides information on speed limits, route progress, and turn alerts.

When the driver reaches the destination, a «Complete Trip» button appears, changing the trip status and processing the payment.

Using RxJava and Retrofit, we created the app’s network layer. RxJava handles multithreading, ensuring requests are sent in a separate thread without blocking the main UI. Retrofit generates server requests.

Accurate Time Zones

Drivers often travel across different time zones. If the app relies on device time zone data, errors may occur. To prevent issues, we used the Time Zone Map library, which ensures the service gets the accurate time zone via location data.

Protection Against Poor Connections

Even in areas with poor connectivity, the app remains reliable. Route points are cached using the Room library, and internet connectivity is tracked via ConnectivityManager. When the connection is restored, crucial data syncs with the server, allowing the driver to continue the journey seamlessly.

Accelerated Job Loading

Pagination (Paging Library 3) was implemented to reduce the time required for drivers to receive job requests. This improvement has increased the loading speed of top list items tenfold. Older requests can be viewed by scrolling through the list.

Vehicle Inspection via Photos

To simplify pre-trip inspections, we added an integrated camera based on the CameraX library. Drivers can photograph instrument readings before trips and submit them for processing without switching to other apps.

Resource Efficiency with AI

AI features in the app process photographs, saving resources and streamlining data flow. When a user uploads a photo, a backend request is sent via the Alamofire library, and the server responds with AI-generated results.

Client Application

Users can book taxis and cargo deliveries, reserve parking spots, create repair requests, and schedule car washes and tyre services.

Role Assignment

When users log into their accounts, the system assigns roles with specific capabilities. A method was created to extract necessary user information from a JWT token. For example, users with the ROLE_DRIVER role can access the «Go Online» feature.

Parking Reservation Features

The main screen features Google Map with a sliding panel containing a UICollectionView. Users can add their vehicle and book short-term or long-term parking through requests made via the Alamofire library.

They can view parking lot numbers, select parking hours, see occupied spots, and cancel or extend reservations.

Convenient Vehicle Service Submission

To send a vehicle to a service centre, users navigate to the «Repair» section, select a service, and specify the type of damage.

Using RxJava and Retrofit, we ensured the main thread remains unburdened. This allows users to perform actions while server requests are processed in the background.

Online Booking for Tyre Services and Car Washes

Users can book tyre services and car washes directly through the app. They can select a location on the map for car washing and order mobile tyre services. Additionally, users can track order status and rate the completed work.

Similar works