GraphQLTrial
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.
- JetPack
- 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.
- Architecture
- 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.
Architecture
GraphQLTrial is based on MVVM architecture and a repository pattern.
GraphQL Endpoint
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.