/RJGames-Jetpack-Compose-Rawg.io-API

RJGames is a sample Android app that shows how to use Jetpack Compose and Rawg.io API to build a gaming app. With RJGames, you can browse top-rated titles, search for your favorite games, and see details about each game.

Primary LanguageKotlin

RJGames | Jetpack Compose & Rawg.io API

RJGames is a sample Android app that shows how to use Jetpack Compose and Rawg.io API to build a gaming app. With RJGames, you can browse top-rated titles, search for your favorite games, and see details about each game.

The purpose of this repository is to serve as a guide for beginners.

Cover Image

Contents

Preview (Video)

KotNews.1.mp4

Run It

  • Clone the repository
  • Create a file named gradle.properties in the root folder
  • Define constant variable named API_Key
  • Get an API key from https://rawg.io/

gradle.properties

org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8
android.useAndroidX=true
kotlin.code.style=official
android.nonTransitiveRClass=true

API_KEY=YOUR_API_KEY

Project Structure

Project Folder Structure Description
image The folder structure of the project is as shown on the left. The Clean Architecture approach has been used. Below are the explanations and details of the folders.
  • core
  • data
  • di
  • domain
  • presentation

Project Architecture

In this project, a modular architecture is designed using Clean Architecture and MVVM approaches to make the development and maintenance of the application easier. Clean Architecture ensures that each layer of the application is independent of each other and responsible for a specific task

Project Architecture

Dependencies

  • Jetpack Compose 💙💚
  • Material 3 💖
  • Material Icons
  • Navigation
  • Retrofit
  • GSON
  • OkHttp
  • Lifecycle[ViewModel] (for Jetpack Compose)
  • Glide (landscapist)
  • Hilt
  • Paging 3
  • Lottie
  • Room