Laboratory experiment 3 - Communicating with GitHub
Purpose
The systems we build rarely exists exclusively on the device without retrieving and storing information on external services. In this laboration you practise to create interfaces based on information you download from GitHub. In this exercise we will work with:
- Asynchronous network calls and threads
- Work with Graphql or residue
- Dynamically alter the interface
- Multiple screen views
Task
GitHub has a feature to show which projects and developers that are most activly discussed during a given time period ( Trending ). Github's Trending ranking is based on the number of stars given during a given period of time, with a certain adaptation to stop manipulation from outside. The GitHub custom trending information is available through GitHubs Rest-API but not via their GraphQL service. If you choose to use GraphQL, you can choose a just used number of stars (or other factors instead such as the number of Commits, Developers, Pull-Requests or Issues). You should create an application that for a given language collects the projects from GitHub that are Trending for a time period of your choosing. Present the projects for the user, if the user chooses to click on a project, more detailed information about the project will appear in a new view.User interface example (you choose how you want your application to look)



Presenting your work
Demonstrate your interface for the lab assistant, the assistant may ask you to explain parts of the code.The assistant tells you how they want you to submit your code.
Länkar
GitHub Developer GrpahQL APIGitHub Developer REST API
A GraphQL Client for Android (Java/Kotlin)
A GraphQL client for React Native
A GraphQL driver for flutter
Sidansvarig: Anders Fröberg
Senast uppdaterad: 2021-11-04