Gekeurd is een bedrijf dat actief is in het conform maken van installaties, de opmaak van elektrische dossiers, het geven van technisch advies, het aanbieden van technische oplossingen, keuringen en dossiers voor alles binnen hun vakdomein.
Gekeurd heeft techniekers in dienst die uitgestuurd worden naar klanten. Deze klanten moeten aangeven om wat voor woning het gaat, zodat Gekeurd kan verzekeren dat de klant correct geholpen wordt door één of meer techniekers met de juiste competenties te sturen.
Om Gekeurd hierbij te assisteren is de Booking Tool ontwikkeld. Deze tool vereist een authenticatie (via OAuth of door het versturen van een code), om te verzekeren dat de klant ook effectief gecontacteerd kan worden via het opgegeven e-mailadres.
Vervolgens moet de klant zijn gegevens (waaronder het bezoekadres en het type woning) opgeven, zodat de tool kan berekenen welke tijdsslots haalbaar zijn voor techniekers die de correcte competenties hebben. Hieruit zal de klant enkel kunnen kiezen uit slots die voor de techniekers (rijtijd meegerekend) aansluiten op reeds andere gereserveerde slots. Om dit mogelijk te maken is ook een synchronisatie met de Google Calendar van de technieker voorzien, zodat er geen reservaties over privé aangelegenheden gepland worden.
Daarnaast is er een soortgelijke functionaliteit die enkel bereikbaar is voor medewerkers (met de juiste autorisatierechten) van Gekeurd, zodat klanten ook telefonisch een reservatie kunnen maken. Hierbij hebben de medewerkers een iets soepelere selectie voor het vastleggen van het tijdsslot. Zij kunnen bijvoorbeeld beslissen welke technieker langs zal komen, terwijl de techniekers voor klanten niet zichtbaar zijn.
Bij het succesvol aanmaken van een boeking, zal de klant een mail krijgen ter bevestiging. Ook zal de gekozen technieker (deze met de kortste rijtijd, uitgekozen door de applicatie) een event in zijn Google Calendar krijgen, zodat deze nog steeds eenvoudig zijn agenda kan gebruiken.
Op deze manier zorgt de tool dus voor een tijdsefficiënte, ecologisch verantwoorde en economisch voordelige oplossing voor het maken van reservaties voor Gekeurd.
De booking tool is een Restful API, geschreven in Java. Deze applicatie maakt achterliggend gebruik van Spring Boot, Hibernate en JPA.
De booking tool integreert met Google Calendar om enerzijds bestaande events te synchroniseren en om anderzijds nieuwe reservaties door te sturen naar de agenda van de techniekers. Daarnaast is er ook een integratie met Google OAuth voor de authenticatie van gebruikers binnen de applicatie.
De frontend van deze applicatie is gemaakt met React en Redux in Typescript, terwijl de data opgeslagen worden in PostgreSQL databases.
De applicatie is uiteindelijk uitgerold in een docker omgeving op gehuurde servers.
Java 21
Spring Boot
Hibernate
Hibernate Envers
JPA
Rest
HATEOAS
Google Calendar
OAuth
Flyway
PostgreSQL
Maven
AssertJ
JUnit
Mockito
Test Containers
GreenMail
Javascript
Typescript
React
Redux
Axios
Moment.js
Tailwindcss
HTML5
CSS3
IntelliJ IDEA
Jira
Git: GitHub
GitHub Actions
GitHub Maven Package Repository
GHCR: GitHub Container Repository
Docker
JaCoCo
Sonar
OWASP
Domain Driven Design
Test Driven Development
Behaviour Driven Development
Hexagonal Architecture
Ports and adapters
SOLID
Command Query Separation
Clean code
Extreme Programming
Agile: scrum
Business analyse
Technische analyse
DevOps
Quality assurance
Solutions Architecture
Strategy
Decorator
Factory
Builder
Step Builder
Java Self-type
Singleton
Specification
Plugin
Secretariaat boeking
Customer boeking
Google Calendar integratie
Afstands berekening via Google Distance Matrix
Security: OAuth + CORS + CSRF
Performantie verbeteringen
Dependencies updaten
Bugs oplossen
Geautomatiseerde testen schrijven
Documentatie schrijven