Skip to content

Latest commit

ย 

History

History
86 lines (70 loc) ยท 5.64 KB

File metadata and controls

86 lines (70 loc) ยท 5.64 KB

Khomasi ๐ŸŸ๏ธ

Khomasi is a modern Android application designed to streamline the process of booking sports fields and venues. Whether you're looking for a football pitch, a tennis court, or a basketball arena, Khomasi connects athletes with the perfect play space.

๐Ÿš€ Features

  • Discover Venues: Browse and search for various sports fields near you.
  • Easy Booking: Seamlessly book your preferred time slots with a few taps.
  • User Authentication: Secure login, registration, and OTP verification.
  • Manage Bookings: Keep track of your upcoming and past bookings in one place.
  • Favorites: Save your most-loved venues for quick access.
  • Notifications: Stay updated with booking confirmations and reminders.
  • AI Integration: Enhanced user experience with AI-powered features.
  • Face Detection: Integrated ML Kit for identity verification or profile customization.
  • Interactive UI: Built entirely with Jetpack Compose for a smooth and modern feel.

๐Ÿ› ๏ธ Tech Stack

  • UI: Jetpack Compose with Material 3.
  • Architecture: MVVM with Clean Architecture principles (Data, Domain, and Presentation layers).
  • Dependency Injection: Hilt.
  • Networking: Retrofit & OkHttp for REST API communication.
  • Local Database: Room for caching and offline support.
  • Asynchronous Programming: Kotlin Coroutines and Flow.
  • Navigation: Jetpack Compose Navigation.
  • Image Loading: Coil.
  • AI/ML: Google ML Kit (Face Detection).
  • Media: Media3 ExoPlayer for video content.
  • Animations: Lottie for rich interactive animations.
  • Local Storage: DataStore for preferences.

๐Ÿ—๏ธ Architecture

The project follows Clean Architecture to ensure scalability, maintainability, and testability:

  • Presentation Layer: Contains UI components (Compose) and ViewModels.
  • Domain Layer: Contains Business Logic, Use Cases, and Repository Interfaces.
  • Data Layer: Contains Repository Implementations, Data Sources (Remote & Local), and Mappers.

๐Ÿ“ธ Screenshots

onboarding1 onboarding2 login_or_register register1 register2 home playround_reviews booking_calender confirmation_booking payment_visa payment_fawry payment_coins playgrounds playgrounds_filter playgrounds_result upload_ai_video choose_sheet_ai_video camera_permission profile feedback logout

๐Ÿšฆ Getting Started

Prerequisites

  • Android Studio Iguana or newer.
  • JDK 17.
  • Android SDK 24+.

Installation

  1. Clone the repository:
    git clone https://github.com/Android-Geeks/khomasi.git
  2. Open the project in Android Studio.
  3. Sync the project with Gradle files.
  4. Run the app on an emulator or a physical device.

๐Ÿงช Testing

The project includes both unit and instrumentation tests:

  • Unit Tests: Located in src/test.
  • Instrumentation Tests: Located in src/androidTest.
  • Uses JUnit, Google Truth, and MockWebServer.