Skip to content

mohamedchouat/JetpackAgmeApp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎮 JetpackAgmeApp

📸 Screenshots

Splash Screen Game List Game Details WebView
Splash Screen Game List Game Details WebView

Kotlin Jetpack Compose License

JetpackAgmeApp is a modern Android application built with Jetpack Compose and Clean Architecture (MVVM).
It fetches game data from the FreeToGame API and displays game details.


✨ Features

  • 🟢 Splash Screen – Smooth entry animation
  • 🕹️ Game List – Browse and search games from the FreeToGame API
  • 🎯 Game Details – Detailed information with a horizontal list of related games
  • 🌐 WebView – Open game websites with loader and WebChromeClient support
  • 🛠️ MVVM + Clean Architecture – Organized and scalable code structure
  • 🔄 Offline Cache – Room database caching for faster loading
  • 🔗 Navigation Compose – Smooth screen transitions
  • 🔧 Hilt + Retrofit + Coroutines – Modern Android development stack

🏗️ Tech Stack

  • Language: Kotlin
  • UI: Jetpack Compose
  • Architecture: Clean Architecture + MVVM
  • Dependency Injection: Hilt
  • Networking: Retrofit + OkHttp
  • Persistence: Room
  • Navigation: Navigation Compose
  • Extras: WebView with WebChromeClient

📂 Project Structure

JetpackAgmeApp
│   JetpackAgmeApp.kt            # Application class
│   MainActivity.kt               # Main Activity (View)
│
├── data                         # Data Layer
│   ├── GameApi.kt                # Model (M) - API
│   ├── GameDao.kt                # Model (M) - Room DAO
│   ├── GameDatabase.kt           # Model (M) - Room Database
│   ├── local
│   │   └── Converters.kt         # Model (M) - Type converters
│   └── repository
│       ├── GameRepository.kt     # Model (M) - Repository Interface
│       └── GameRepositoryImpl.kt # Model (M) - Repository Implementation
│
├── di                           # Dependency Injection
│   └── AppModule.kt              # Hilt modules
├── domaine                      # Domain Layer
│   ├── Game.kt                   # Model (M)
│   ├── GameDetail.kt             # Model (M)
│   └── GameDetailDeserializer.kt # Model (M)
├── ui                           # View Layer
│   ├── YesNoDialog.kt            # View (V) - Reusable Dialog
│   ├── banner
│   │   └── TopNetworkBanner.kt   # View (V)
│   ├── details
│   │   ├── GameDetailScreen.kt   # View (V)
│   │   └── GameDetailViewModel.kt # ViewModel (VM)
│   ├── list
│   │   ├── GameListScreen.kt     # View (V)
│   │   └── GameListViewModel.kt # ViewModel (VM)
│   ├── navigation
│   │   └── NavigationRoot.kt    # View (V)
│   ├── splash
│   │   └── SplashScreen.kt      # View (V)
│   └── webview
│       └── WebPageScreen.kt     # View (V)
└── utils
    ├── NetworkMonitor.kt        # Utility
    └── ZoomableImageDialog.kt   # Utility

 




About

JetpackAgmeApp is a modern Android app built with Jetpack Compose and Clean Architecture. It fetches and displays game data from the FreeToGame API with smooth navigation and caching. Architecture: MVVM + Clean Architecture, Hilt DI, Retrofit, Room, and Navigation Compose.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages