All Projects → mars885 → Gamedge

mars885 / Gamedge

Licence: apache-2.0
An Android application for browsing video games and checking the latest gaming news from around the world.

Programming Languages

kotlin
9241 projects

Projects that are alternatives of or similar to Gamedge

Android Spotify Mvp
Android Sample to explain Model View Presenter in android applications.
Stars: ✭ 184 (+5.14%)
Mutual labels:  android-application
Android Mvp Architecture
🏛 A basic sample android application to understand MVP in a very simple way. Just clone, build, run and understand MVP.
Stars: ✭ 203 (+16%)
Mutual labels:  android-application
Flutter Netease Music
flutter music player application. (仿网易云音乐)
Stars: ✭ 2,662 (+1421.14%)
Mutual labels:  android-application
Androrat
A Simple android remote administration tool using sockets. It uses java on the client side and python on the server side
Stars: ✭ 187 (+6.86%)
Mutual labels:  android-application
Moviehunt
Movie Android App written in Kotlin, MVVM, RxJava, Android Architecture Components.
Stars: ✭ 199 (+13.71%)
Mutual labels:  android-application
Ionic Starter Template
Reinventing the wheel, again! Sorry Ionic Team... but there are many newbies learning on Youtube!
Stars: ✭ 208 (+18.86%)
Mutual labels:  android-application
Piclice
Android application to slice and share your pictures
Stars: ✭ 180 (+2.86%)
Mutual labels:  android-application
Buildapks
Really quickly build APKs on handheld device (smartphone or tablet) in Amazon, Android, Chromebook and Windows📲 See https://buildapks.github.io/docsBuildAPKs/setup to start building APKs.
Stars: ✭ 218 (+24.57%)
Mutual labels:  android-application
Designoverlay Android
Android app which displays design image with grid lines to facilitate the tedious design implementation process
Stars: ✭ 202 (+15.43%)
Mutual labels:  android-application
Template
Stars: ✭ 214 (+22.29%)
Mutual labels:  android-application
Rethink App
DNS over HTTPS / DNS over Tor / DNSCrypt client, firewall, and connection tracker for Android.
Stars: ✭ 188 (+7.43%)
Mutual labels:  android-application
Iconshowcase Dashboard
A full-of-features, easy-to-customize, free and open source, Material Design dashboard for icon packs.
Stars: ✭ 197 (+12.57%)
Mutual labels:  android-application
Listenermusicplayer
A Grace Material Design Music Player
Stars: ✭ 2,360 (+1248.57%)
Mutual labels:  android-application
Cartoon
漫画软件——使用MVP + Retrofit + RxJava开发
Stars: ✭ 186 (+6.29%)
Mutual labels:  android-application
Bottomsheet
BottomSheet dialog library for Android
Stars: ✭ 219 (+25.14%)
Mutual labels:  android-application
Baldphone
A new accessible interface for your smartphone, suitable for seniors
Stars: ✭ 181 (+3.43%)
Mutual labels:  android-application
Poi On Android
A sample project that shows how Apache POI can be used in an Android application
Stars: ✭ 206 (+17.71%)
Mutual labels:  android-application
Music Player
Lightweight and Material designed Music Player
Stars: ✭ 223 (+27.43%)
Mutual labels:  android-application
Modern Android Development
Modern Android Development tools & key points
Stars: ✭ 219 (+25.14%)
Mutual labels:  android-application
Shimmerlayout
DEPRECATED - Memory efficient shimmering effect for Android applications by Supercharge.
Stars: ✭ 2,424 (+1285.14%)
Mutual labels:  android-application

Gamedge

Min API Platform Build License

An Android application for browsing video games and checking the latest gaming news from around the world.

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

Videos

Screenshots

Tech Stack

  • Kotlin - First class and official programming language for Android development.
  • 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 - Navigation is a framework for navigating between screens within an Android application.
    • 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.
    • ViewBinding - View binding is a feature that allows you to more easily write code that interacts with views.
    • 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.
  • Material Components for Android - Modular and customizable Material Design UI components for Android.
  • OkHttp - An HTTP client for making network calls.
  • Retrofit - A library for building REST API clients.
  • Moshi - A modern JSON serialization library for Kotlin and Java.
  • Picasso - An image loading library.
  • Hilt Binder - An annotating processing library that automatically generates Dagger Hilt's @Binds methods.
  • Kotlin Result - A multiplatform Result monad for modelling success or failure operations.
  • PhotoView - A library that allows to zoom Android images.
  • Testing - The app is currently covered with unit tests and instrumentation tests.
    • JUnit - JUnit is a unit testing framework for the Java programming language.
    • AssertJ - AssertJ is a java library providing a rich set of assertions.
    • 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

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

MAD Score

summary kotlin

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].