Skip to content

jhernandez80/GithubViewer

Repository files navigation

GitHub Viewer



A Kotlin first, github browsing app made to test out new Android components and ideas. Utilizes clean architecture, MVVM, and Android Jetpack/Architecture Components.


Architecture

Uses Room for persistence and as the single source of truth (SSOT). The Repository layer consist solely of RxJava while the ViewModel exposes Android LiveData components for the UI.

Libraries Used

Android JetPack & Views

Network Request

  • Retrofit: A type-safe HTTP client for Android and Java
  • Gson: A Java serialization/deserialization library to convert Java Objects into JSON and back

Persistence

  • Room: The Room persistence library provides an abstraction layer over SQLite to allow for more robust database access while harnessing the full power of SQLite.

Reactive Components

  • RxJava: A library for composing asynchronous and event-based programs by using observable sequences.
  • RxAndroid: RxJava bindings for Android

Image Handling

  • Glide: An image loading and caching library for Android focused on smooth scrolling

TODO

  • Add API authentication to prevent rate limiting
  • Define models separately as DTOs and Domain Models
  • Establish clearer relations in Domain Models
  • Add an expiration to the cache
  • Add paging to home and issue pages
  • Add both unit and integration tests
  • Add more animations with MotionLayout

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages