Logo van Project Startspeler, een applicatie voor spellenwinkel Startspeler

Project Startspeler

Project Startspeler had drie belangrijke onderdelen: de API, de desktop kassa-app en de mobiele companion-app. Met deze apps kunnen gebruikers makkelijk de evenementen van spellenwinkel Startspeler checken en ook drankjes en snacks bestellen en afrekenen. De API zorgt dat alles soepel met elkaar praat, zodat zowel klanten als medewerkers een naadloze ervaring hebben via de desktop en mobiele apps.

Project Overzicht

Voor Project Startspeler hebben we in een semester een volledig functioneel systeem ontwikkeld dat bestaat uit drie onderdelen: de API, de desktop kassa-app en de mobiele companion-app. Het doel was om een complete oplossing te maken die niet alleen efficiënt werkt voor medewerkers, maar ook een prettige ervaring biedt voor de klanten van spellenwinkel Startspeler. De klanten konden bestellen via de app en ze konden ook alle komende events bekijken en er zich op inschrijven.  De personeelsleden van de zaak hadden dan weer de mogelijkheid om op hun desktop-app de bestellingen te zien binnenkomen en de rekeningen af te rekenen.  De personeelsleden hadden ook de mogelijkheid om de voorraad bij te werken en de app hield ook rekening met hoeveel voorraad er nog was van de producten.  Het personeel kan ook evenementen aanmaken en verwijderen. Het project bood de mogelijkheid om zowel de technische backend als de visuele en gebruiksvriendelijke interfaces te ontwikkelen. Een van de uitdagingen was het opzetten van een schaalbare en veilige API die zorgde voor de naadloze communicatie tussen de verschillende componenten. Tijdens het project kwamen er natuurlijk ook wat uitdagingen op ons pad. Een van de problemen was dat we nog geen lessen over Agile en Scrum hadden gehad, waardoor we bijna in tijdsgebrek kwamen. Bovendien werkten we voor het eerst in een team van drie, wat een nieuwe dynamiek met zich meebracht. We zijn trots op het eindresultaat: een systeem dat de klantervaring verbetert, het werk voor medewerkers gemakkelijker maakt, en zowel klanten als personeel helpt.

Belangrijkste Kenmerken

  • Account- en Rollenbeheer: Het accountsysteem houdt bij wie welke rol heeft, bijvoorbeeld klant of medewerker. Het systeem registreert ook wie welke bestellingen heeft geplaatst en welke betalingen nog openstaan, zodat iedereen gemakkelijk kan zien wat nog afgehandeld moet worden.
  • Evenementenbeheer: Klanten kunnen eenvoudig evenementen van spellenwinkel Startspeler bekijken en zich inschrijven. Het personeel kan evenementen aanmaken, bewerken, of verwijderen om de agenda up-to-date te houden.
  • Bestel- en Kassasysteem: De mobiele app maakt het mogelijk voor klanten om drankjes en snacks te bestellen. Personeelsleden gebruiken de desktopapp om bestellingen te verwerken en af te rekenen. De koppeling tussen de apps zorgt voor een vlotte ervaring, zowel voor de klant als voor de medewerker.
  • Voorraadbeheer: Het systeem biedt real-time voorraadbeheer, waarbij medewerkers de beschikbare voorraad kunnen bijwerken. Zo kunnen ze steeds een goed overzicht houden van welke producten nog beschikbaar zijn.

Mijn Rol in het Project

Bij Project Startspeler was mijn rol veelzijdig en richtte ik me op verschillende belangrijke onderdelen. Ik heb het ERD (Entity Relationship Diagram) gemaakt en de database opgezet met behulp van Entity Framework. Daarna heb ik het registratie- en accountsysteem ontwikkeld met Identity, inclusief een inlogsysteem met JWT-tokens (ook wel Bearer-tokens genoemd). Daarnaast heb ik de uiteindelijke UI-designs gemaakt in Figma, wat hielp om een duidelijk beeld te schetsen van hoe de applicatie eruit zou moeten zien. Ook heb ik vaak bijgesprongen om mijn teamleden te helpen wanneer zij even niet verder konden, en heb ik bugs opgelost waar zij niet uitkwamen. Mijn bijdrage zorgde ervoor dat zowel de technische als visuele aspecten van het project soepel verliepen.

Gebruikte Technologieën

  • .NET MAUI: Ingezet voor het ontwikkelen van zowel de mobiele companion-app als de desktopapp.
  • ASP.NET Core: Gebruikt voor het ontwikkelen van de API en server-side logica.
  • MySQL: Gebruikt als de database voor het opslaan en beheren van gegevens.
  • Entity Framework: Gebruikt voor het opzetten en beheren van de database, waardoor datamanagement eenvoudiger werd.
  • Identity: Ingezet voor het ontwikkelen van het registratie- en accountsysteem, inclusief authenticatie en autorisatie van gebruikers.
  • JWT-tokens: Gebruikt voor veilige, stateloze authenticatie van gebruikers.
  • Postman: Gebruikt voor het testen van de API en het valideren van de verschillende endpoints tijdens de ontwikkeling.
  • Figma: Gebruikt voor het maken van de UI-designs, om een duidelijk en consistent beeld te creëren van de applicatie.
  • Git: Gebruikt voor versiebeheer, om efficiënt samen te werken en veranderingen in de code bij te houden.

Bekijk het Project

Github