AquaSecurity is expert in brandblusinstallaties. Ze zorgen niet alleen voor een op maat gemaakte oplossing maar ook de installatie en het onderhoud van deze systemen nemen ze voor hun rekening. Met meer dan 25 jaar ervaring garanderen zij betrouwbare brandblusinstallaties op een performante manier. Wij maakten voor hen een React Native app die klanten op de hoogte houdt van de status van hun brandblusinstallatie

AquaSecurity devices

Een applicatie voor status updates

Om hun oplossingen nog beter te maken wil AquaSecurity graag snel communiceren over status-updates van de installaties. Op die manier kunnen fouten en storingen meteen gedetecteerd en doorgegeven worden aan de correcte persoon. Een technieker zal m.a.w. eenvoudiger kunnen inspelen op deze storing om de onderhoudsservice efficiënter te laten verlopen. Tegelijkertijd worden klanten in real time op de hoogte gehouden en kunnen ze ten allen tijde de status raadplegen van hun installaties.

Voor het delen van deze status-updates ontwikkelde Calibrate een React Native smartphone app. Via deze app kunnen klanten inloggen op hun persoonlijke account. Elke klant heeft een eigen omgeving, waarin zijn verschillende locaties te raadplegen zijn, samen met de status updates per locatie. Deze informatie wordt in real time gesyncroniseerd tussen de fysieke locatie en de database servers. Zo ziet een klant steeds de laatste update.

Phone mockup

Drupal & React Native app

Om deze noden te kunnen inlossen, kozen we bij Calibrate voor een modern digitaal ecosysteem: een mobiele applicatie in React Native die interageert met een Drupal webapplicatie. Deze Drupal 8 web applicatie is constant verbonden met een externe database waar alle informatie over de installaties terug te vinden is. Een verweven connectie via REST API's tussen de drie elementen zorgt voor een correcte informatie-uitwisseling die op een veilige manier aan de juiste persoon wordt doorgegeven.

De gebruikerservaring start bij de Drupal webapplicatie: hierin kunnen klanten en medewerkers raadplegen welke brandblusinstallaties geïnstalleerd zijn en welke techniekers ter beschikking staan. Medewerkers van AquaSecurity kunnen dan, op een gebruiksvriendelijk online platform,  de installaties aan bepaalde techniekers koppelen. Eenmaal deze techniekers dan inloggen op de mobiele applicatie, krijgen ze enkel die installaties te zien waarvoor ze verantwoordelijk zijn.

De mobiele applicatie werd ontwikkeld in React Native die zowel op IOS als op Android draait. React-Native was de ideale keuze voor deze applicatie omdat het een snelle en efficiënte oplossing is die met een bestaande applicatie zoals de Drupal webapp in PHP kan interageren. Bovendien resulteert dit in een echte native applicatie, die even performant is als een ontwikkelde applicatie in C# of Java (iOS vs Android).

Wil je meer lezen over React Native ontwikkelingen? Neem dan zeker onze blog eens door.

Welke tools gebruikten wij

We bouwden een applicatie in React Native om met "Mobile Native" elementen te programmeren in een React omgeving. De JavaScript code wordt vertaald naar zowel Android als IOS Native code. Verder maakt de applicatie gebruik van Redux om op een centrale manier aan asynchrone data-uitwisseling te doen. Bij het inloggen wordt gebruik gemaakt van een token die ter authenticatie de gegevens kan opslaan in het geheugen van het toestel zodat men niet steeds opnieuw moet inloggen.

Berichten worden opgehaald uit de externe database door middel van een Drupal Migrate Module.

Custom authenticatie tussen de applicatie en de backend in Drupal gebeuren op basis van een JWT (of ook wel JSON Web Token genaamd). Deze werd geïmplementeerd via een core REST module en een contrib JWT module. Custom REST endpoints op basis van core REST, voor het aanbieden van data aan de applicatie waarbij datafiltering toegepast wordt afhankelijk van de actieve gebruiker.

Drupal 8 en React Native : een mooie combinatie

Drupal en React Native vormen een natuurlijke combinatie, omdat Drupal 8 prima geschikt is om zijn data uit te wisselen via REST API's. React Native is een ideale manier om smartphone applicaties te maken op een efficiënte manier. Het biedt een pak voordelen tegenover aparte ontwikkeling in C# en Java: ontwikkeling gebeurt door één team, met alle voordelen in ontwikkeling en support vandien. 

Kortom: een mooi verhaal!