koshsu / github-search

Simple android app that shows how to use modern android development tools: MVVM + Kotlin + Coroutines + Flow + Kodein + Room + Retrofit2 + DataBinding + Navigation Library + other Architecture Components

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

About

Github Search is a simple Android application built to demonstrate use of modern Android development tools.

Install and test latest version by link below πŸ‘‡

App Screenshots

What's under the hood

  • Architecture: MVVM (Model View View-Model)

Project Structure

com.koshsu.githubsearch     # Root Package
    .
    β”œβ”€β”€ application         # Custom Application class / Dependency Injection (Kodein)
    |
    β”œβ”€β”€ data                # Data handling
    |   β”œβ”€β”€ database        # Room database for local end point
    |   |   β”œβ”€β”€ dao         # Data Access Objects for Room 
    |   |   └── model       # Entities and data classes
    |   β”œβ”€β”€ network         # Retrofit/Github API for remote end point
    |   |   └── response    # Data class that holds search result data
    |   β”œβ”€β”€ preference      # Shared Preferences Provider
    |   └── repository      # Single source of data for ViewModels
    |
    β”œβ”€β”€ ui                  # View layer (Activity, Fragments)
    β”‚   β”œβ”€β”€ details         # Details Screen Fragment (& ViewModel)
    β”‚   β”œβ”€β”€ home            # Home Screen Fragment
    |   β”œβ”€β”€ interfaces      # Interfaces for communication between Fragments and Activity
    β”‚   └── search          # Search Screen Fragment (& ViewModel, Adapter)
    |
    └── utils               # Kotlin extensions / Utility classes 

To-dos:

  • Pagination
  • Tests

About

Simple android app that shows how to use modern android development tools: MVVM + Kotlin + Coroutines + Flow + Kodein + Room + Retrofit2 + DataBinding + Navigation Library + other Architecture Components


Languages

Language:Kotlin 100.0%