SILAN - Système Intelligent de Localisation et d'Attente Numérique SILAN is a modern Android application designed to revolutionize the banking experience in Cameroon by optimizing wait times and providing real-time information about bank branches.
# SILAN - Système Intelligent de Localisation et d'Attente Numérique
SILAN is a modern Android application designed to revolutionize the banking experience in Cameroon by optimizing wait times and providing real-time information about bank branches.
## 🌟 Key Features
- **📍 Intelligent Geolocation**: Automatically detects your position to suggest the nearest bank branches.
- **🕒 Real-time Status**: View if a bank is currently open, closed, or on break based on local operating hours.
- **🎟️ Virtual Ticketing**: Reserve a queue ticket directly from your phone.
- **📱 Live Queue Tracking**: Monitor how many people are ahead of you and receive notifications when your turn is approaching.
- **🏢 Comprehensive Coverage**: Includes major banks (CCA, Afriland, SGC, UBA, Ecobank, etc.) across multiple cities (Douala, Yaoundé, Bafoussam, Garoua, etc.).
- **🔔 Smart Notifications**: Get alerts for ticket confirmation, expiration timers (3-minute window), and booth assignments.
## 🛠️ Tech Stack
- **Language**: Kotlin
- **UI Framework**: Jetpack Compose (Modern, declarative UI)
- **Backend**: Firebase Realtime Database (for live queue synchronization)
- **Location Services**: Google Play Services (FusedLocationProvider)
- **Architecture**: Clean state management using Compose `remember` and `mutableStateOf`.
## 📁 Project Structure
- `MainActivity.kt`: The main entry point containing the navigation logic and UI screens (Home, Bank Selection, Branch Selection, Ticket, and Tracking).
- `banquesParVille.kt`: Contains the database of bank branches, their GPS coordinates, and their specific operating hours.
- `ui/theme/`: Custom SILAN branding colors (BleuSilan, OrangeWarn, etc.) and typography.
## 🚀 How to Run
1. **Prerequisites**: Android Studio installed and a valid `google-services.json` file for Firebase.
2. **Setup**:
- Set your `JAVA_HOME` to the Android Studio JBR: `C:\Program Files\Android\Android Studio\jbr`.
- Run `./gradlew assembleDebu …