A GitHub user tracking app, inspired from a GIF. 🕵️ Can be considered as a demo project to showcase MVVM with latest android development tools
If you've got someone you truly admire for their fiery passion in programming, hitting that 'follow' button on GitHub might not be enough. Don't settle for the minimal info on your feed! That's where this app comes in 😉
Can be considered as a demo project to showcase MVVM with latest android development tools
username
Now you can see whatever he does 😜
This project follows the famous MVVM architecture and best practices from Google's GithubBrowserSample
.
├── androidTest
│ └── java
│ └── com
│ └── theapache64
│ └── tracktor
│ ├── ui
│ │ └── activities
│ │ ├── splash
│ │ │ └── SplashActivityTest.kt
│ │ ├── userdetail
│ │ │ └── UserDetailActivityTest.kt
│ │ └── users
│ │ └── UsersActivityTest.kt
│ └── utils
│ └── DaggerMockRules.kt
├── main
│ ├── AndroidManifest.xml
│ ├── ic_launcher-playstore.png
│ ├── java
│ │ └── com
│ │ └── theapache64
│ │ └── tracktor
│ │ ├── App.kt
│ │ ├── core
│ │ │ └── events
│ │ │ ├── BaseEventSupport.kt
│ │ │ ├── EventManager.kt
│ │ │ ├── issuecomment
│ │ │ │ ├── IssueCommentEventPayload.kt
│ │ │ │ └── IssueCommentEventSupport.kt
│ │ │ ├── issues
│ │ │ │ ├── IssuesEventPayload.kt
│ │ │ │ └── IssuesEventSupport.kt
│ │ │ ├── push
│ │ │ │ ├── PushEventPayload.kt
│ │ │ │ └── PushEventSupport.kt
│ │ │ └── watch
│ │ │ └── WatchEventSupport.kt
│ │ ├── data
│ │ │ ├── local
│ │ │ │ ├── AppDatabase.kt
│ │ │ │ ├── daos
│ │ │ │ │ └── UserDao.kt
│ │ │ │ └── entities
│ │ │ │ └── UserEntity.kt
│ │ │ ├── remote
│ │ │ │ ├── ApiInterface.kt
│ │ │ │ ├── events
│ │ │ │ │ └── Event.kt
│ │ │ │ └── user
│ │ │ │ └── User.kt
│ │ │ └── repositories
│ │ │ ├── EventsRepo.kt
│ │ │ ├── PrefRepo.kt
│ │ │ └── UserRepo.kt
│ │ ├── di
│ │ │ ├── components
│ │ │ │ └── AppComponent.kt
│ │ │ └── modules
│ │ │ ├── ActivitiesBuilderModule.kt
│ │ │ ├── AppModule.kt
│ │ │ ├── DatabaseModule.kt
│ │ │ ├── NetworkModule.kt
│ │ │ ├── RepoModule.kt
│ │ │ └── ViewModelModule.kt
│ │ ├── models
│ │ │ └── UserEvent.kt
│ │ ├── ui
│ │ │ ├── activities
│ │ │ │ ├── splash
│ │ │ │ │ ├── SplashActivity.kt
│ │ │ │ │ └── SplashViewModel.kt
│ │ │ │ ├── userdetail
│ │ │ │ │ ├── UserDetailActivity.kt
│ │ │ │ │ └── UserDetailViewModel.kt
│ │ │ │ └── users
│ │ │ │ ├── UsersActivity.kt
│ │ │ │ └── UsersViewModel.kt
│ │ │ └── adapters
│ │ │ ├── EventDetailsAdapter.kt
│ │ │ ├── UserEventsAdapter.kt
│ │ │ └── UsersAdapter.kt
│ │ └── utils
│ │ ├── DateTimeUtils.kt
│ │ ├── EventRepoUtils.kt
│ │ ├── NightModeUtils.kt
│ │ ├── StringUtils.kt
│ │ └── test
│ │ └── OpenForTesting.kt
│ └── res
│ ├── drawable
│ │ ├── ic_baseline_add_24.xml
│ │ ├── ic_baseline_close_24.xml
│ │ ├── ic_baseline_delete_outline_24.xml
│ │ ├── ic_hacker_100.xml
│ │ ├── ic_launcher_foreground.xml
│ │ └── ic_night_mode_24.xml
│ ├── drawable-night
│ │ └── ic_night_mode_24.xml
│ ├── layout
│ │ ├── activity_splash.xml
│ │ ├── activity_user_detail.xml
│ │ ├── activity_users.xml
│ │ ├── item_event_detail.xml
│ │ ├── item_user_event.xml
│ │ └── item_user.xml
│ ├── mipmap-anydpi-v26
│ │ ├── ic_launcher_round.xml
│ │ └── ic_launcher.xml
│ ├── mipmap-hdpi
│ │ ├── ic_launcher.png
│ │ └── ic_launcher_round.png
│ ├── mipmap-mdpi
│ │ ├── ic_launcher.png
│ │ └── ic_launcher_round.png
│ ├── mipmap-xhdpi
│ │ ├── ic_launcher.png
│ │ └── ic_launcher_round.png
│ ├── mipmap-xxhdpi
│ │ ├── ic_launcher.png
│ │ └── ic_launcher_round.png
│ ├── mipmap-xxxhdpi
│ │ ├── ic_launcher.png
│ │ └── ic_launcher_round.png
│ ├── values
│ │ ├── colors.xml
│ │ ├── dimens.xml
│ │ ├── ic_launcher_background.xml
│ │ ├── strings.xml
│ │ └── styles.xml
│ └── values-night
│ ├── colors.xml
│ └── styles.xml
├── sharedTest
│ └── java
│ └── com
│ └── theapache64
│ └── tracktor
│ └── utils
│ └── test
│ └── observeForTesting.kt
└── test
├── java
│ └── com
│ └── theapache64
│ └── tracktor
│ ├── data
│ │ ├── local
│ │ │ └── daos
│ │ │ └── UserDaoTest.kt
│ │ └── repositories
│ │ └── EventsRepoTest.kt
│ ├── ui
│ │ └── activities
│ │ ├── splash
│ │ │ └── SplashViewModelTest.kt
│ │ ├── userdetail
│ │ │ └── UserDetailViewModelTest.kt
│ │ └── users
│ │ └── UsersViewModelTest.kt
│ └── utils
│ ├── DateTimeUtilsTest.kt
│ └── StringUtilsKtTest.kt
└── resources
└── robolectric.properties
77 directories, 88 files