MVVM tasarım deseni kullanılarak oluşturulan android için GitHub istemcisi, LiveData ile reaktif programlama, repository pattern, Room Persistence Library.
Özellikler: Sayfalama, arama sonuçlarını önbelleğe alma ve yer imleri ekleme seçeneği.
Kod özelliği ile paketlenmiştir. Veri paketi, tek bir gerçek kaynağı olarak kullanılan yerel veritabanı modeli sınıflarını, web servisini ve deposu içerir.
UI paketi, uygulamadaki her ekran için VIEW (Etkinlikler) ve VIEW MODEL (AndroidViewModel) kodunu içerir. VIEW MODEL, veri paketindeki VIEW veya MODEL sınıflarına herhangi bir referans göstermez, bu yüzden kod modülerdir ve ekranları değiştirmek ve özellikler eklemek kolaydır.
LiveData, uygulama katmanları arasında iletişim kurmak için kullanılır. MODEL katmanındaki herhangi bir değişiklik LiveData'dan VIEW MODEL'e ve sonra VIEW katmanına yayılır.
Utils sınıfında, varsayılan arama terimini, sayfa başına sonuçları ve yeni önbelleklerle güncellemeye başlamadan önce sonuçların yerel önbellekte ne kadar süre saklanacağını yapılandırmak için Configuretion arabirimi vardır.
Kaynak kodunu şu adreste bulabilirsiniz: https://github.com/giantturtle/RepoExplorerMVVM