Softwareontwikkeling

Mobiele Transporter-app

TST Terschelling

Opdrachtgever
TST Terschelling
Categorie
Softwareontwikkeling
Jaar
2026
Technologieën
C#PHPMySQLMicrosoft SQL

Transporter is een robuuste app voor chauffeurs die hun dagelijkse bezorgroutes met Zebra-apparaten uitvoeren. De app vervangt papieren overdrachten en kwetsbare handmatige processen door één mobiel werkproces voor inloggen, laden, barcodescanning, afleverbewijzen en controle bij het afronden van iedere stop.

Overzicht

Transporter is ontworpen om de volledige uitvoering van een route te ondersteunen. Chauffeurs gebruiken de app om in te loggen, toegewezen routes op te halen, goederen bij het laden te scannen, stops af te werken, handtekeningen vast te leggen en afwijkingen te registreren. Ook bij een onstabiele verbinding kunnen ze doorwerken.

Het project had een helder doel: een snel, betrouwbaar werkproces voor chauffeurs dat in de echte transportpraktijk bruikbaar is. Dat betekende ontwerpen voor bediening met handschoenen, wisselend mobiel bereik, herhaald scannen en langdurig gebruik zonder tussentijdse ingrepen.

Het vraagstuk

Bezorgprocessen lopen vast als digitale hulpmiddelen te afhankelijk zijn van een netwerkverbinding of te traag reageren bij veelvuldig herhaalde taken, zoals laden en scannen bij afleveringen. Chauffeurs hebben directe terugkoppeling, een duidelijke routestatus en de zekerheid nodig dat elke handeling is vastgelegd, ook offline.

Transporter moest drie problemen tegelijk oplossen:

  • Scanprocessen bijzonder snel houden.
  • Gegevens correct houden tijdens het laden en afleveren.
  • Betrouwbaar blijven werken als het netwerk, de backend of de apparaatomgeving onstabiel is.

De oplossing

We bouwden Transporter als een app die ook offline werkt, met duurzame lokale opslag, een toestand die uit gebeurtenissen wordt afgeleid en betrouwbare synchronisatie op de achtergrond. Voor de chauffeur voelt de app eenvoudig aan. Achter de schermen is de software zo ingericht dat geregistreerde handelingen behouden blijven en fouten netjes worden hersteld.

  1. Chauffeurs loggen in door hun profiel te kiezen of een NFC-tag te scannen.
  2. De app haalt de toegewezen route op en toont de actieve stops.
  3. Goederen worden tijdens het laden van de vrachtwagen gescand.
  4. Bij elke stop scant de chauffeur de leveringen, legt afleverbewijzen vast en registreert waar nodig afwijkingen.
  5. Gebeurtenissen in de wachtrij, telemetrie en uploads worden op de achtergrond gesynchroniseerd zodra er verbinding is.

Hoe de Transporter-app werkt

De werking van Transporter draait om scangebeurtenissen. Iedere barcodescan staat voor een concrete handeling, zoals een pakket laden, afleveren, als vermist markeren, achterhouden of naar een andere route verplaatsen. De app vertrouwt niet uitsluitend op tijdelijke informatie in de interface, maar leidt de routevoortgang af uit deze gebeurtenissen en berekent de actuele status van pakketten, stops en volledige routes opnieuw.

Dat maakt het werkproces snel en robuust. Tijdens het laden gebruikt de app lokale caches en stapsgewijze herberekening om de voortgang direct bij te werken, zonder tijdrovende serververzoeken of zware databasequery’s. Bij afleveringen handhaaft de app de voorwaarden van de stop: verplichte goederen moeten zijn afgehandeld, handtekeningen moeten waar vereist zijn vastgelegd en de chauffeur kan pas verder als alle verplichte stappen zijn voltooid.

De lokale SQLite-database is een duurzame werkcache voor routes, stops, goederen, scangebeurtenissen, beelduploads en telemetrie. Als de verbinding wegvalt, kan de chauffeur normaal doorwerken. Zodra het apparaat weer verbinding heeft, verwerken synchronisatieservices op de achtergrond de wachtende gegevens en sturen deze door zonder de gebruiker te onderbreken.

Betrouwbaarheid vanaf het ontwerp

Transporter is ontworpen voor betrouwbaar gebruik onderweg, ook buiten ideale omstandigheden. Barcodescanning met Zebra is volledig in het werkproces opgenomen, lokale opslag beschermt routegegevens en scanhandelingen, en achtergrondprocessen proberen mislukte synchronisaties veilig opnieuw en werken de wachtrij af wanneer de verbinding terugkeert.

De app heeft ook een lokale telemetrievoorziening die fouten op het apparaat bewaart en later centraal doorstuurt. Zo blijven fouten niet onopgemerkt en ontstaat een duidelijker beeld van wat er onderweg is gebeurd. De architectuur scheidt de interface, viewmodels, bedrijfsregels en platformservices. Daardoor blijft de proceslogica consistent, testbaar en eenvoudiger uit te breiden.

Technische kenmerken

  • Gebouwd met .NET MAUI, met een gedeelde applicatielaag en uitrol op Android.
  • SQLite-repositories voor offline opslag en duurzaam bewaarde lokale gegevens.
  • Selectie van chauffeurs via NFC en integratie met de Zebra-barcodescanner.
  • Ondersteuning voor handtekeningen, afbeeldingen, documenten en afwijkingen bij aflevering.
  • Synchronisatie op de achtergrond voor telemetrie, scangebeurtenissen en uploads in de wachtrij.
  • Unit- en integratietests voor werkprocessen, opslag en herstelscenario’s.

Resultaat

Transporter maakt van een complex transportproces een betrouwbaar werkproces op een handheld. Chauffeurs ervaren minder onnodige handelingen en onzekerheid. De organisatie krijgt een duidelijker en betrouwbaarder beeld van wat er op de route is gebeurd. De app biedt bovendien een stevige basis voor verdere routeanalyse, diagnostiek en koppelingen met de backend.

Projectafbeeldingen

Meer werk

Gerelateerde projecten

Start een project met ons

Heeft u een project in gedachten? Bespreek met ons hoe we kunnen helpen.