top of page
container-3857616_1280.jpg

Rider Africa (Android) Application

Purpose

The Rider Africa app facilitates ride-hailing and shipment services, providing users, drivers, customer support, customs agents, and admin roles with the tools they need to manage logistics and customer service. The app focuses on scalability, allowing for long-distance shipments with multi-driver handoffs, while also providing secure payment options such as credit card payments and PayPal payments using the PayPal API. Real-time communication and tracking are supported across all roles.

User Experience

Key Features

User and Driver Registration

​

  • Users and drivers register through Firebase Authentication. The app dynamically displays role-based user interfaces depending on whether the user is a driver, customer support, customs agent, or admin.

​

Shipment and Ride Tracking

​

  • Real-time shipment and ride tracking is powered by Mapbox, allowing users to monitor their rides or shipments. Long-distance shipments can be tracked across multiple drivers, including container transfers for international shipments.

​

Driver and User Selection

​

  • Users can view available drivers, including fare details and route information. Both users and drivers must accept the ride to begin the journey, with real-time data updates across all devices.

​

Navigation and Live Tracking

​

  • Drivers are guided to pickup points using MapboxNavigation, while users can observe the driver’s progress using a Driver Observation feature, which mirrors the driver’s real-time movement.

​

Firebase Integration

​

  • Firebase Realtime Database manages all ride details, shipment information, and role-specific interactions. Real-time synchronization allows customs agents to approve shipments and customer support to assist users and drivers.

​

Role-Specific Features

​

  • Customer Support: Agents can view live ride and shipment data, resolve user queries, and manage disputes.

  • Customs Agents: Approve or reject international shipments and track container transfers.

  • Admin: Admins manage the entire app, accessing user and driver data through custom dashboards and Firebase integration.

​

Real-Time Communication

​

  • Real-time chat powered by Firebase allows users and drivers to communicate during the ride. File sharing is supported for tasks like sharing shipment-related documents.

​

Credit Card Payments and PayPal Integration

​

  • Credit card payments are processed securely using Stripe integrated with Kotlin for handling payments within the app.

  • PayPal payments are available through the PayPal API, giving users an additional payment option. The integration ensures secure transaction processing and flexible payment handling for both users and drivers.

  • Payment transactions are securely logged, with ride and shipment payment history stored for future reference in Firebase.

​

Fare Management

​

  • Fare details, including negotiation and transaction handling primarily within Namibian dollars (NAD); but also with an array of various currencies available. All of these currencies are stored in Firebase for transparency.

​

Arrival Animation

​

  • Lottie animations notify users and drivers upon ride or shipment completion, improving the overall user experience.

​

Driver Experience

Android/Kotlin Techniques Applied:

Kotlin Coroutines for Asynchronous Operations

​

Used Kotlin coroutines to manage asynchronous operations, ensuring smooth real-time updates and interactions with Firebase for ride tracking, shipment management, and user communications.

​

Mapbox SDK for Navigation

​

Integrated Mapbox SDK for real-time GPS tracking and navigation, allowing drivers to follow optimized routes and users to track their shipments.

​

Firebase Authentication and Realtime Database

​

Firebase Authentication for secure registration and login. Firebase Realtime Database for live synchronization of ride and shipment data across user roles.

​

MVVM Architecture

​

Followed MVVM architecture to ensure clean separation between the business logic and the UI. This approach ensures scalability and maintainability for the app as it grows.

​

Role-Based Interface Logic

​

The app dynamically loads different interfaces and functionality based on the user’s role (e.g., driver, user, customs agent, admin).

​

Credit Card Payments via Stripe

​

Integrated Stripe API for secure credit card payments, ensuring that users can make payments seamlessly within the app.

​

PayPal API Integration

​

Integrated PayPal API to allow users to make payments via PayPal, offering secure and flexible payment options. The integration ensures safe transactions for both users and drivers.

​

RecyclerView for Dynamic Lists

​

Used RecyclerView to efficiently manage dynamic lists of drivers, users, and shipments, ensuring smooth scrolling and data presentation.

​

Real-Time Communication with Firebase

​

Implemented Firebase-powered real-time chat between users, drivers, and customer support agents.

​

Lottie Animations for Enhanced UI

Used Lottie animations to notify users of key events like ride completion and shipment delivery.

Key Features

Programming Language

Kotlin

​

Real-Time Database

Firebase Realtime Database

​

Authentication

Firebase Authentication

​

Navigation

Mapbox SDK, MapboxNavigation

​

UI Design

Constraint Layouts, Material Design

​

Asynchronous Programming

Kotlin Coroutines

​

Architecture

MVVM (Model-View-ViewModel)

​

Real-Time Chat

Firebase-powered messaging and file sharing

​

Cross-Platform Scalability

The app is built with the future potential for cross-platform expansion (iOS/Android).

bottom of page