Logo Lanfrica

Sighmore/Matwana

Domain:

mobility

Record type:

software
Creator:
Sig
Host:
kenya long distance travel booking app # Matwana App **Matwana** is an Android application for booking long-distance matatu (shared minibus) travel across various routes in Kenya. This app allows users to create an account, browse vehicle schedules, book seats, and make payments conveniently. ## Features - **User Authentication**: Sign up, log in, and log out using email/password or third-party providers (Google, Facebook). - **Route Management**: View routes such as Nairobi to Mombasa, Kakamega, Bungoma, Turkana, and more. - **Seat Booking**: Choose available seats and confirm bookings for selected routes and times. - **Payment Integration**: Securely pay for tickets directly within the app. - **User Profile**: Manage personal information like name, email, and phone number. - **Offline Support**: Access trip history and user profile offline using Room database. --- ## Technologies Used ### Frontend - **Kotlin**: Primary language for Android development. - **Jetpack Compose**: Modern declarative UI framework for building UIs. - **Navigation Component**: For seamless screen transitions. ### Backend - **Firebase Authentication**: Manage user authentication. - **Firebase Firestore**: Store and retrieve booking and route data. - **Room Database**: Store user profile and booking data for offline access. ### Additional Libraries - **Coroutines**: For asynchronous programming. - **StateFlow**: To handle UI state and authentication updates. - **Retrofit**: For network requests (optional if external APIs are used). --- ## Project Structure ``` app/ ├── view/ │ ├── pages/ # Individual screens (Login, SignUp, HomePage, etc.) │ ├── MatwanaNavigation # Centralized navigation graph ├── viewmodel/ # ViewModels for state management ├── repository/ # Handles data interactions (Firebase, Room, etc.) ├── model/ # Data models (e.g., User, Route, Booking) ``` --- ## Setup Instructions ### Prerequisites 1. **Android Studio** (Arctic Fox or later). 2. **Fir …