Een security-first IoT-kluis als integratieproject
The Impenetrable 2
Een end-to-end IoT-prototype waarin een fysieke ESP32-kluis, een beveiligde webapplicatie, realtime events, database-integriteit en cloud deployment samenkomen.
Security Engineer, Data Engineer en integratieondersteuning
- Next.js
- React
- TypeScript
- Java 21
- Spring Boot
- PostgreSQL
- Flyway
- Socket.IO
- ESP32
- Docker
- OpenShift
- OWASP ZAP
- Context
- Bachelor integratieproject aan UCLL
- Team
- Team van zes
- Mijn rol
- Security Engineer, Data Engineer en integratieondersteuning
- Stack
- Next.js, Spring Boot, PostgreSQL, Socket.IO, ESP32, Docker en OpenShift
- Ervaring
- OAuth2, TOTP-MFA, CSRF/CORS, Flyway, WebSockets en security scans
Project en context
The Impenetrable 2 was een bachelorintegratieproject waarin we met zes studenten een fysieke kluis koppelden aan een full-stack webplatform. Gebruikers konden een kluis pairen, toegang delen, aanvragen beheren, pincodes wijzigen en beveiligingsgebeurtenissen realtime volgen.
Van fysieke kluis naar werkende demo
Het project was geen losse website of hardwaredemo. De demonstratie bracht een ESP32-opstelling met keypad, display en statusleds samen met de webapplicatie die de kluisstatus en gebeurtenissen zichtbaar maakte.
Toegang, eigenaarschap en realtime events
De kluisdetailpagina toont de kern van het product: openstaande toegangsaanvragen, actieve sleuteldragers, hardware-ID, pincodebeheer en een chronologische eventlog met meldingen vanuit de fysieke kluis.
Veilige koppeling tussen account en hardware
Een eigenaar koppelt een nieuwe kluis via een hardware-ID en tijdelijke schermcode. De backend bewaakt de vervaltijd, valideert de aanvraag en verbindt de fysieke kluis met het juiste account.
Beheer en data-inzicht
Het admin-dashboard visualiseert gebruikers, geregistreerde hardware, meldingstypes, meldingen met hoge prioriteit en activiteit doorheen de tijd. Zo werd de ruwe eventstroom bruikbaar voor controle en analyse.
Mijn rol
Mijn focus lag vooral op security en data-engineering. Ik werkte onder andere aan Google OAuth2, TOTP-MFA, JWT-cookies, CSRF/CORS, security headers, Flyway, PostgreSQL-productieconfiguratie, een stored procedure voor atomair toegangsbeheer en OWASP ZAP-scans in CI/CD.
Belangrijkste uitdaging
De grootste uitdaging was dat meerdere lagen tegelijk correct moesten samenwerken: hardware-events, WebSockets, API-security, database-integriteit, toestand in de frontend en OKD-deployment. Ik hielp problemen afbakenen, pull requests reviewen, merge conflicts oplossen en fixes opnieuw in de gedeelde omgeving verifiëren.
Resultaat
Het resultaat was een uitgebreid werkend prototype met fysieke hardware, realtime monitoring, gedeelde toegang, admininzichten en geautomatiseerde securitycontroles. De case toont vooral dat ik verder kijk dan losse features en betrouwbaarheid over het hele systeem belangrijk vind.