An open API service indexing awesome lists of open source software.

https://github.com/damiancodes/m-joba-

MJOBA is a Kotlin-based Android marketplace app connecting urban Kenyans with verified local service providers across Nairobi's busy hubs, featuring secure M-Pesa escrow payments that protect both customers and providers
https://github.com/damiancodes/m-joba-

firebase-database kotlin-android kotlin-multiplatform mpesa-api

Last synced: about 1 year ago
JSON representation

MJOBA is a Kotlin-based Android marketplace app connecting urban Kenyans with verified local service providers across Nairobi's busy hubs, featuring secure M-Pesa escrow payments that protect both customers and providers

Awesome Lists containing this project

README

          

# MJOBA App Documentation


Android
Kotlin
MVVM
M-Pesa

Connecting urban Kenyans with verified local service providers



MJOBA App Screenshot

## Overview

MJOBA is a marketplace app that bridges the gap between urban Kenyan customers and local service providers. Operating in busy urban centers like Gikomba, Toi Market, Nairobi CBD, and Lavington, the app provides instant access to verified service professionals including:

- Beauticians
- Plumbers
- Electricians
- Cobblers
- And more local services

## 🛠️ Technical Architecture




Component
Technologies


Frontend






Backend






Database





Authentication






Maps & Location





Payments





Notifications





## Key Features






Book immediately or schedule services for later





Secure M-Pesa transactions with funds held until job completion





All service providers are vetted and verified





Quality assurance through customer feedback





Earnings tracking and job management





## 🔄 App Workflow

### Customer Journey

```mermaid
graph TD
A[Download App] --> B[Create Account]
B --> C[Browse Service Providers]
C --> D[Select Provider]
D --> E[Book Service]
E --> F[Pay via M-Pesa]
F --> G[Service Fulfilled]
G --> H[Confirm Completion]
H --> I[Rate & Review]
```

### Provider Journey

```mermaid
graph TD
A[Register as Provider] --> B[Complete Verification]
B --> C[Set Services & Pricing]
C --> D[Receive Booking Requests]
D --> E[Accept/Decline Jobs]
E --> F[Complete Service]
F --> G[Customer Confirms]
G --> H[Receive Payment]
H --> I[View Dashboard Analytics]
```

## Business Model




Revenue Stream
Description


Commission
10% fee on each successful service transaction


Provider Subscriptions
Optional premium tiers for increased visibility and features


Boosted Listings
Paid promotion to appear at top of search results


## Security Features

- **Secure Payments**: M-Pesa integration with escrow functionality
- **Identity Verification**: Multi-step provider verification process
- **User Authentication**: Firebase Authentication with phone verification
- **Data Protection**: Secure credential storage and encryption
- **Transaction Monitoring**: Automated flagging of suspicious activities

## 📊 Market Impact

MJOBA aims to digitize Kenya's informal economy by:

- Providing local service providers access to wider urban markets
- Building trust through verified profiles and customer reviews
- Creating consistent income opportunities for skilled workers
- Offering convenient, secure service bookings for urban residents

## 🚀 Roadmap

### MVP (Current Focus)
- Core booking functionality
- M-Pesa payment integration
- Provider verification system
- Rating and review system
- Basic provider dashboards

### Future Expansions
- Service categories expansion
- In-app messaging
- Loyalty rewards program
- Advanced analytics for providers
- Subscription tiers and premium features

## Implementation Details

### Architecture
MJOBA follows the MVVM (Model-View-ViewModel) architecture pattern:

```
app/
├── data/
│ ├── repository/ # Data repositories
│ ├── model/ # Data models
│ └── remote/ # API services (Firebase, M-Pesa)
├── domain/
│ ├── usecase/ # Business logic
│ └── model/ # Domain models
├── presentation/
│ ├── ui/ # Screens and components
│ ├── viewmodel/ # ViewModels
│ └── navigation/ # Navigation components
└── util/ # Utility classes
```

### Key Dependencies

- **UI**: Jetpack Compose, Material Design Components
- **Navigation**: Jetpack Navigation Compose
- **Networking**: Retrofit, OkHttp
- **Async**: Kotlin Coroutines, Flow
- **DI**: Hilt
- **Database**: Firebase Firestore
- **Maps**: Google Maps Compose
- **Payments**: M-Pesa Daraja SDK
- **Analytics**: Firebase Analytics
- **Testing**: JUnit, Espresso, Mockito

## Screen Showcase





Registration

Registration Screen


Home Screen

Home Screen


Location Search

Location Search




Booking Summary

Booking Summary


Provider Services

Provider Services


Provider Dashboard

Provider Dashboard



## Target Audience

### Customers
- Urban residents in Nairobi
- Time-conscious professionals
- People seeking verified service providers

### Service Providers
- Skilled workers in various trades
- Small business owners
- Individual service professionals

## Contact & Support

For technical support or feature requests:
- Email: support@mjoba.com
- In-app feedback form
- GitHub issues (for developers)

---


MJOBA: Connecting Service Needs with Verified Providers


© 2025 MJOBA. All rights reserved.