GraphQLTrial is a demo application based on modern Android application tech-stacks and MVVM architecture.
App fetching data from the network via repository pattern.
### Please add your GitHub Token to GITHUB_TOKEN field in Constants to build and run this project
Tech stack & Open-source libraries
- Minimum SDK level 26
- Kotlin based, Coroutines for asynchronous.
- Hilt for dependency injection.
- LiveData - notify domain layer data to views.
- Lifecycle - dispose of observing data when lifecycle state changes.
- ViewModel - UI related data holder, lifecycle aware.
- Navigation - Navigation refers to the interactions that allow users to navigate across, into, and back out from the different pieces of content within your app.
- MVVM Architecture (View - ViewBinding - ViewModel - Model)
- Repository pattern
- Apollo - The industry-standard open-source GraphQL client for web, iOS and Android apps with everything you need to fetch, cache, and modify application data.
- Glide - Glide is a fast and efficient open source media management and image loading framework for Android that wraps media decoding, memory and disk caching, and resource pooling into a simple and easy to use interface.
- Custom Views
- CircleImageView - A fast circular ImageView perfect for profile images.
GraphQLTrial is based on MVVM architecture and a repository pattern.
GraphQLTrial is using the GitHub GraphQL API endpoint for data source.
GitHub GraphQL API provides precise and flexible queries for the data needed to integrate with GitHub.