Inleiding

A-Klasse Rijschool is een rijschool in Den Haag waar leerlingen rij- en theorielessen kunnen volgen. Om de toestroom van nieuwe leerlingen te bevorderen is deze applicatie in het leven geroepen. De applicatie stelt potentiële nieuwe leerlingen in staat om theorie examens te oefenen met als doel deze een gratis proefles aan te bieden. Binnen de app bestaat de mogelijkheid om op verschillende momenten contact op te nemen met de rijschool. In dit artikel vertel ik hoe het ontwikkelproces is verlopen en hoe de verschillende functionaliteiten binnen applicatie functioneren.

Ontwerpfase

Voor dit project zijn drie producten opgeleverd. Het eerste product omvat de collectie wireframes. De wireframes laten precies zien hoe de app werkt, maar bevatten weinig tot geen grafische kenmerken. Het tweede product is in veel opzichten identiek aan de wireframes, behalve dat deze wel grafische kenmerken bevat. Beide producten bevatten geen logica en zijn puur gebaseerd op het ontwerp van verschillende schermen. Het derde en laatste product is de mobiele applicatie, deze bevat alle grafische kenmerken plus achterliggende logica om de app functioneel te maken.

Ontwikkelfase

Voor de ontwikkeling van de mobiele applicatie is gebruik gemaakt van Flutter en Firebase. De gouden combinatie van deze twee frameworks stelt mij in staat de volledige front- en backend te verzorgen.

De applicatie moest tenminste voldoen aan de volgende eisen:

  • De gebruiker moet kunnen in- en uitloggen via email Facebook, Google en Apple;
  • de gebruiker moet theorie lessen kunnen volgen;
  • de gebruiker moet zijn/haar resultaten kunnen inzien en opslaan;
  • de gebruiker moet een gratis proefles aan kunnen vragen.

Om je niet teveel lastig te vallen met technische termen en details zijn deze eisen zijn iets beknopter opgesteld dan ze daadwerkelijk gedocumenteerd zijn. Omdat deze applicatie relatief simpele functionaliteiten bevat laat dit artikel het toe wat dieper in te gaan op de eisen en hoe deze zijn geïmplementeerd. Per eis zal ik kort vertellen hoe ik het heb aangepakt en hoe de functionaliteit in productie werkzaam is.

In- en uitloggen

Het aanmaken en beheren van gebruikers wordt verzorgd door Firebase. Vanuit de mobiele applicatie wordt een verzoek verstuurd, waarop Firebase vervolgens de identiteit van de gebruiker controleert. Eenmaal goedgekeurd krijg de gebruiker een sleutel waarmee hij/zij vanaf dat moment toegang heeft tot zijn/haar persoonlijke gegevens. Door slim gebruik te maken van zogeheten 'security rules' zorg ik ervoor dat de gebruiker niet bij andere gebruikersgegevens kan komen.

Theorie lessen volgen

Eenmaal binnen kan de de gebruiker kiezen tussen drie verschillende voertuigcategorieën. Elke categorie bestaat uit vijf examens die op hun beurt weer bestaan uit vijftien vragen. Na het kiezen van een categorie krijgt de gebruiker de mogelijkheid aangeboden om één van de vijf examens te starten. De aangeboden vragen zijn verzorgd door de opdrachtgever.

Resultaten inzien

Na het afronden van een examen ziet de gebruiker zijn/haar resultaat. Op dit moment wordt de voortgang van het examen opgeslagen in Firebase. Vervolgens wordt de gebruiker drie mogelijkheden aangeboden: de resultaten te bekijken, een gratis proefles aanvragen of terugkeren naar het overzicht. In het overzicht kan opnieuw de resultaten worden opgevraagd om eventuele fouten opnieuw te bekijken.

Proefles aanvragen

Een proefles aanvragen kan in de vorm van een theoriecursus of een rijles. Beide opties hebben een eigen scherm en zijn toegankelijk via het hoofdscherm.

Productiefase

Naast het ontwerpen en ontwikkelen van de applicatie mocht ik ook zorg dragen voor de publicatie. Om dit op een efficiënte manier te bewerkstelligen is er gebruik gemaakt van Codemagic. Dit is een 'CI/CD' tool gericht op Flutter. Zonder al te veel in te gaan op de technische details zorgt deze tool ervoor dat de applicatie met veel gemak gepubliceerd en onderhouden kan worden. De applicatie is op 24 februari 2020 live gegaan.

Wil je de app downloaden of de website bezoeken klik dan hier. Wil je mij een bericht sturen naar aanleiding van dit project klik dan hier. Bedankt voor je tijd en interesse in mijn project!