Sudan Ministry of Interior Android App - Jetpack Compose + Kotlin + Firebase
# 🇸🇩 Sudan Ministry of Interior - Mobile Application
A comprehensive Android application for the **Sudan Ministry of Interior (وزارة الداخلية السودانية)**, built with **Jetpack Compose** and **Kotlin**, providing digital government services to citizens.
---
## 📱 Features
- **OTP Authentication** — Secure phone-based login with OTP verification
- **Firebase Integration** — Auth, Firestore, Storage, Messaging & Analytics
- **Biometric Security** — Fingerprint & Face ID support
- **Arabic/RTL Support** — Full right-to-left layout with Arabic & English localization
- **Google Maps Integration** — Location-based services
- **CameraX & ML Kit** — Document scanning with OCR text recognition
- **Push Notifications** — Firebase Cloud Messaging
- **Offline Support** — Room database with local caching
- **Data Visualization** — Charts and analytics with Vico
## 🏗️ Tech Stack
| Layer | Technology |
|-------|-----------|
| **Language** | Kotlin |
| **UI** | Jetpack Compose + Material 3 |
| **DI** | Hilt (Dagger) |
| **Navigation** | Compose Navigation |
| **Networking** | Retrofit + OkHttp |
| **Local DB** | Room |
| **Auth** | Firebase Auth + Google Sign-In |
| **Backend** | PHP REST API / Node.js |
| **Maps** | Google Maps Compose |
| **Camera** | CameraX |
| **OCR** | ML Kit Text Recognition |
| **Security** | EncryptedSharedPreferences + Biometric |
| **Animations** | Lottie |
## 📂 Project Structure
```
├── app/ # Android application module
│ ├── src/main/java/com/sudan/moi/
│ │ ├── di/ # Dependency Injection (Hilt modules)
│ │ ├── data/ # Data layer (repositories, API, models)
│ │ ├── domain/ # Domain layer (use cases, entities)
│ │ ├── presentation/ # UI layer (screens, viewmodels)
│ │ │ └── auth/ # Authentication screens (OTP, login)
│ │ ├── navigation/ # Navigation graph
│ │ └── MainActivity.kt # Entry point
│ └── google-services.json # …