Huduma Platform is a multi-category service marketplace designed for Kenya and East Africa. It connects service seekers (people who need work done) with service providers (skilled professionals) across 19 service categories.
# Huduma Platform
A multi-category service marketplace connecting service seekers with providers across Kenya and East Africa.
## Overview
Huduma Platform enables users to find and hire trusted service providers across 19+ categories including house help, plumbing, electrical work, tutoring, catering, and more. The platform features OTP-based phone authentication, real-time messaging, listing management, and a review system.
## Tech Stack
| Layer | Technology |
|-------|-----------|
| **Mobile App** | Flutter (Dart) — cross-platform (Android, iOS, Web) |
| **Backend API** | NestJS (TypeScript) with Prisma ORM |
| **Database** | PostgreSQL (Neon — cloud-hosted) |
| **Cache** | Redis (Upstash — cloud-hosted) |
| **Auth** | JWT + OTP via SMS (Africa's Talking) |
| **Real-time** | WebSocket (Socket.IO via NestJS Gateway) |
## Project Structure
```
Business/
├── platform/ # NestJS backend API
│ ├── prisma/ # Database schema & migrations
│ └── src/ # API source code
│ ├── auth/ # OTP + JWT authentication
│ ├── listings/ # Service listings CRUD
│ ├── applications/ # Job applications
│ ├── chat/ # Real-time messaging
│ ├── reviews/ # Rating & review system
│ ├── profiles/ # User profiles
│ ├── categories/ # Service categories
│ ├── notifications/ # Push notifications
│ ├── verification/ # ID verification
│ ├── upload/ # File uploads
│ └── admin/ # Admin panel API
├── platform_mobile/ # Flutter mobile app
│ └── lib/
│ ├── features/ # Feature modules (auth, home, listings, etc.)
│ ├── core/ # DI, networking, interceptors
│ ├── config/ # Theme, routes, constants
│ └── shared/ # Models, shared widgets
└── PLATFORM_ARCHITECTURE.md
```
## Getting Started
### Prerequisites
- Node.js 18+
- Flutter SDK 3.x
- PostgreSQL database (or Neon account)
- Redis i …