Skip to content

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

koshsu/github-search

Repository files navigation

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