Gamedge
An Android application for browsing video games and checking the latest gaming news from around the world.
Install / Use
/learn @mars885/GamedgeREADME
Gamedge
An Android application for browsing video games and checking the latest gaming news from around the world.
Built entirely using the Jetpack Compose.
The aim of this project is to showcase the latest trends in Android development by utilizing the best practices, libraries, and tools to develop a fully-fledged Android application.
Contents
Demonstration
Video
https://github.com/user-attachments/assets/a8cde6c6-1e89-4986-a5d7-3dc98cb014c5
Screenshots
<p> <img src="/media/screenshot1.png" width="32%"/> <img src="/media/screenshot2.png" width="32%"/> <img src="/media/screenshot3.png" width="32%"/> </p> <p> <img src="/media/screenshot4.png" width="32%"/> <img src="/media/screenshot5.png" width="32%"/> <img src="/media/screenshot6.png" width="32%"/> </p>Tech Stack
- Kotlin - First class and official programming language for Android development.
- Jetpack Compose - Android’s modern toolkit for building native UI.
- Coroutines and Flow - Official Kotlin's tooling for performing asynchronous work.
- MVVM/MVI Architecture - Official recommended architecture for building robust, production-quality apps.
- Android Jetpack - Jetpack is a suite of libraries to help developers build state-of-the-art applications.
- Navigation 3 - Navigation 3 is a new navigation library designed to work with Compose.
- ViewModel - The ViewModel is designed to store and manage UI-related data in a lifecycle conscious way.
- StateFlow - StateFlow is a state-holder observable flow that emits the current and new state updates to its collectors.
- Room - The Room library provides an abstraction layer over SQLite to allow for more robust database access.
- DataStore - DataStore is a data storage solution that stores key-value pairs or typed objects with protocol buffers.
- Dagger Hilt - Hilt is a dependency injection library for Android.
- MotionLayout - MotionLayout allows you to create beautiful animations in your app without too much hassle.
- Custom Tabs - Custom Tabs is a browser feature that gives apps more control over their web experience.
- OkHttp - An HTTP client for making network calls.
- Retrofit - A library for building REST API clients.
- KotlinX Serialization - A multiplatform Kotlin serialization library.
- Coil - An image loading library.
- Hilt Binder - An annotating processing library that automatically generates Dagger Hilt's
@Bindsmethods. - Kotlin Result - A multiplatform Result monad for modelling success or failure operations.
- Detekt - A static code analysis library for Kotlin.
- Ktlint - A library for formatting Kotlin code according to official guidelines.
- Testing - The app is currently covered with unit tests and instrumentation tests.
- JUnit - JUnit is a unit testing framework for the Java programming language.
- Truth - Truth is a library providing fluent assertions for Java and Android.
- MockK - MockK is a mocking library for Kotlin.
- Coroutines Test - A library for testing Kotlin coroutines.
- Turbine - A testing library for Kotlin Flows.
- Dagger Hilt Test - A testing library for modifying the Dagger bindings in instrumented tests.
- Room Testing - A library for testing Room migrations.
- MockWebServer - A scriptable web server for testing HTTP clients.
- Gradle's Kotlin DSL - Gradle’s Kotlin DSL is an alternative syntax to the Groovy DSL with an enhanced editing experience.
- buildSrc - A special module within the project to manage dependencies and whatnot.
For more information about used dependencies, see this file.
Architecture

Development Setup
You'll need to supply API/client keys for the various services that the app uses in order to build the application.
IGDB
IGDB is a website dedicated to combining all the relevant information about games into a comprehensive resource for gamers everywhere. This is the main API that the app uses to fetch information about pretty much any video game there is.
Check this link on how to obtain a client ID and secret. Once you have obtained the keys, you can set them in your ~/.gradle/gradle.properties:
TWITCH_APP_CLIENT_ID=yout_client_id_here
TWITCH_APP_CLIENT_SECRET=your_client_secret_here
Gamespot
Gamespot is a video gaming website that provides news, reviews, previews, downloads, and other information on video games. The app uses its API to solely retrieve the latest news in the gaming world.
Check this link on how to obtain an API key. Once you have obtained the key, you can set it in your ~/.gradle/gradle.properties:
GAMESPOT_API_KEY=your_api_key_here
Download
Go to the Releases to download the latest APK.
Contribution
See the CONTRIBUTION.md file.
Questions
If you have any questions regarding the codebase, hit me up on Twitter.
License
Gamedge is licensed under the Apache 2.0 License.
Related Skills
docs-writer
99.6k`docs-writer` skill instructions As an expert technical writer and editor for the Gemini CLI project, you produce accurate, clear, and consistent documentation. When asked to write, edit, or revie
model-usage
342.0kUse CodexBar CLI local cost usage to summarize per-model usage for Codex or Claude, including the current (most recent) model or a full model breakdown. Trigger when asked for model-level usage/cost data from codexbar, or when you need a scriptable per-model summary from codexbar cost JSON.
arscontexta
2.9kClaude Code plugin that generates individualized knowledge systems from conversation. You describe how you think and work, have a conversation and get a complete second brain as markdown files you own.
cursor-agent-tracking
134A repository that provides a structured system for maintaining context and tracking changes in Cursor's AGENT mode conversations through template files, enabling better continuity and organization of AI interactions.
