GitStat is a simple android app designed to aggregate Github profile data into informative cards and graphs.
- Used single activity approach and Navigation component to navigate across fragments.
- View binding is used to interact with views within fragments and recyclerview adapters.
- Kotlin coroutines are used for asynchronous operations.
- Retrofit is used to perform Github API calls to obtain the data.
- Room database is used for cache implementation.
- colors.json file is borrowed from the github-colors repository and parsed with Gson library in order to obtain and display native github colors for programming languages.
- Google's FlexboxLayout as LayoutManager and custom checkable LinearLayout are used to implement languages filter (see third screenshot).
- CircleImageView and Picasso libs are involved to obtain and display user profile image.
- MPAndroidChart library is used for plots and diagrams in the application.
- Download APK from the releases page and install it.
- Go to Personal access tokens section in your Github profile settings.
- Create personal access token with
read:userandrepoaccess scopes. (Note: fullreposcope is used only to have access to your private repos data. No malicious write operations are performed by the app). - Use your github login and obtained token as auth credetials in the application login form.
More user-friendly auth method may be implemented later. Actually, authorization process in the app is ugly and needs additional research and refactoring from an architectural point of view.