Skip to content

📱 OverGuide demonstrates modern Android development with Koin, Material Motion, Coroutines, Jetpack (LiveData, Fragment, Navigator, ViewBinding) based on MVVM architecture. For game Overwatch

Notifications You must be signed in to change notification settings

marlonsantini/OverGuide

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

70 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Overwatch Guide

License API Kotlin MVVM Coroutines


A sample android app consuming Overwatch API to display overwatch heroes, maps and patchs, it has been built with Architecture Components and MVVM pattern.


OverGuide

Tech stack & Open-source libraries

  • Minimum SDK level 26
  • Kotlin
  • Coroutines
  • Koin - For dependency injection.
  • Firebase - For Crashlytics and Analytics
  • Admob
  • Exoplayer - ExoPlayer is an application level media player for Android.
  • JetPack
    • LiveData - Notify domain layer data to views.
    • Lifecycle - Dispose of observing data when lifecycle state changes.
    • Fragment-ktx - A set of Kotlin extensions that helps with fragment lifecycle.
    • ViewBinding - Allows you to more easily write code that interacts with views
    • ViewModel - UI related data holder, lifecycle aware.
    • Navigator - Navigation refers to the interactions that allow users to navigate across, into, and back out from the different pieces of content within your app.
  • Architecture
    • Multi-module design for the app.
    • MVVM Architecture (View - DataBinding - ViewModel - Model)
    • Repository pattern (NetworkBoundResource)
    • Clean Architecture approach.
  • Gradle KotlinDsl
  • Retrofit2 & OkHttp3 - Construct the REST APIs.
  • Gson - Gson is a Java library that can be used to convert Java Objects into their JSON.
  • Coil - For Loading images from Urls.

Architecture

OverGuide is Multi-modular application with a meaningful separation for layers and features with the necessary grouping. With MVVM architecture with an additional Domain layer for each module by itself.

Modules Design:

  • App
    • Api
    • Di
    • Extensions
    • Network
    • Features
      • Heroes
        • Data
          • Repository
          • Response
        • Di
        • Ui
          • Adapter
          • ViewState
      • Maps
        • Data
          • Repository
          • Response
        • Di
        • Ui
          • Adapter
          • ViewState
      • Patchs
        • Data
          • Repository
          • Response
        • Di
        • Ui
          • Adapter
          • ViewState

In progress 🚧.

  • Write tests
  • Implement feature strong x week
  • Patch screen improvement
  • Code cleanup

License

Designed and developed by .fingerfire - 2023 

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http:https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

About

📱 OverGuide demonstrates modern Android development with Koin, Material Motion, Coroutines, Jetpack (LiveData, Fragment, Navigator, ViewBinding) based on MVVM architecture. For game Overwatch

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages