Laboration 3 - Kommunicera med github
Syfte
De system vi bygger existera sällan enbart på enheten utan hämtar och lagrar information på externa tjänster. I denna laboration ska du träna på att skapa gränssnitt som bygger på information som du hämtar från github. I den här övningen kommer vi arbete med:
- Asynkrona nätverksanrop och trådar
- Jobba med GraphQL eller REST
- Dynamiskt förändra gränssnittet
- Multipla skrämvyer
Uppgift
GitHub har en funktion för att visa vilka projekt och utvecklare som det händer och diskuteras mest kring under en given tidsperiod (Trending). Githubs Tredning rankning är baserat på antal stjärnor givet under en given tidsperiod, med en viss anpassning för att stoppa manipulering utifrån. Den github anpassade Trending informationen finns tillgänglig via GitHubs REST-API men inte via deras GraphQL-tjänst. Om du väljer att använda GraphQL så kan du välja ett bara använda antalet stjärnor (eller annat mått istället så som antal commits, utvecklare, pull-requests eller issues). Du ska skapa en applikation som för ett givet språk hämtar ut de projekt från github som det pratas mest om (Trending se ovan), du får själv välja tidsperiod. Presentera projekten för användaren, om användaren väljer att klicka på ett projekt ska mer detaljerad information kring projektet visas i en ny vy.Användargränssnitt exempel (du väljer själv hur du vill att din applikation ska se ut)



Redovisning
Demonstrera dina gränssnitt för lab assistenten, assistenten kan be dig förklara delar av koden. Assistenten berättar hur hen vill att du lämnar in din kod.
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: 2024-11-05