- Naam: Bjorn Truye
- Klas: PBA-TIN-TI/G3A2@S1
- Docent: Bosteels Gertjan
Tijdens de aanvang van dit project volgt de student alle opleidingsonderdelen die aangeduid zijn in het geel. Merk hierbij op dat DevOps projecten 3 nog niet op te nemen was.
Deze Android applicatie zal gebruikt worden voor een atypische studentenclub genaamd 'Nemesis' die zich focust op het spelen van boardgames.
Aangezien dit project grootschalig is, en bovendien afhankelijk is van een ander opleidingsonderdeel, zullen sommige elementen van het eindproject niet geïmplementeerd worden tegen de deadline van 14/01/2022.
Voor de API zal (in de mate van het mogelijke) gewerkt worden met een NodeJS API, geschreven door de student in het opleidingsonderdeel Web Services (MT2 SEM1).
De algemene look and feel is gebaseerd op de bestaande website van de vereniging (https://nemesisgent.be/).
De Android app zal voor verschillende zaken kunnen gebruikt worden. Hieronder zijn kort een aantal usecases:
- Opent en meld zich aan op de app
- Kan zien welke tafels beschikbaar zijn
- Gaat naar 'Tafels' en ziet a.d.h.v. visuele kleuren direct welke beschikbaar zijn
- Klikt op een tafel om meer informatie te zien
- Ziet dat zijn vrienden aanwezig zijn en er nog plaats vrij is
- Sluit zich aan bij de tafel
- Gaat naar 'Matches'
- Maakt een match aan met 'Create match'
- Vult de info in voor de match o.b.v. de beschikbare tafels en games in de app
- Komt op het scherm terecht van de gekozen tafel met de game om te hosten
- Anderen gebruikers zien de tafel 'Geel' worden in het tafeloverzicht want er is één iemand aanwezig aan de tafel (de host) en kunnen hierbij aansluiten
- De gebruiker die een match heeft gecreëerd (de host) kan de match starten en beëindigen met een knop, zowel op het scherm van de tafel als op het scherm van de matches
- Bij veelvuldig gebruik van de app (wanneer deze in testing is) kan gekeken worden wat het duidelijkst is voor de gebruikers
- Gaat naar 'Games'
- Drukt op een game in de lijst om meer informatie te zien
Voor de scope van dit project zullen sommige schermen (fragments) niet aanwezig zijn die op de wireframe zijn voorzien. Deze wireframes zijn voornamelijk om een overzicht te hebben voor het eindresultaat.
Er zijn geen mockups aanwezig voor dit project. De student heeft reeds ervaring met een Xamarin-project in C#, waarbij zijn mockups heel hard afweken van de prototypes. Dit bleek een groot tijdverlies te zijn. Aangezien Android Studio volledig nieuw is voor de student werd gekozen om enkel op de Wireframes te focussen. Dit gaf meer creatieve vrijheid in het visueel uitwerken van de GUI.
Leden van Nemesis openen de app en komen op een welkom scherm. Afhankelijk van hoe Android Studio integreert met de externe API kunnen leden zich aanmelden/registreren met een nieuw scherm in de applicatie, of een redirect naar de browser (bv. voor Google Accounts).
Games en tables worden in dit spel volledig van scratch opgebouwd. Het is dus aan de community om deze applicatie verder uit te bouwen. Bepaalde endpoints zullen hierbij specifieke adminrechten nodig hebben (zoals het aanmaken en verwijderen van een tafel).
Eens aangemeld komen de gebruikers terecht op een menu. Vanuit het menu kan de gebruiker doornavigeren naar verschillende hoofdaspecten van de app.
- Matches: spelers die tegen elkaar / met elkaar een spel spelen
- Tables: de plaatsen waar een match doorgaat
- Games: de spellen die gespeeld worden in een match
Gebruikers kunnen een overzicht van tafels bekijken, informatie van een tafel zien etc. De about page bevat informatie over de programmeur (en later eventuele GDPR-benodigdheden).
Gebruikers maken in de app zelf games aan om deze te gebruiken in een match.
Gebruikers hosten zelf matches en kunnen een overzicht bekijken van welke match(es) zij aangemaakt hebben.
Wireframes gemaakt in Adobe XD (zie assets/wireframes_nemesis_app.xd)
- Vrienden maken in de app
- Vrienden uitnodigen voor een tafel/match
- Een scherm met veel voorkomende elementen bij boardgames wanneer een match van start gaat (bv. dobbelstenen om te rollen, een random user knop om te bepalen welke speler van start gaat ...)
- De vereniging heeft een 'kast' van boardgames die ieder jaar door de gamemaster worden bijgehouden. In de app kan een externe API van boardgamegeek opgeroepen worden om de collectie van Nemesis op te halen (zie https://nemesisgent.be/Games)
- Scores van een spel bijhouden (wie heeft gewonnen etc.)
- Statistieken van spelers bijhouden (aantal games gespeeld, gewonnen ...)
De API van dit opleidingsonderdeel heeft nog een aantal bekende bugs waardoor nog niet alle data opgevraagd kan worden.