Storage-Locker Backend & Device Fingerprinting (Strapi)
A self-service luggage/storage-locker platform
Overview
The backend for a self-service storage-locker solution, kiosks where people pay to store their bags/backpacks. Built on the Strapi headless CMS with a device-fingerprinting component and Dockerized deployment, it manages locker sessions, rentals, and configuration.
Why It Exists
The locker network needed a manageable data/API layer to track rentals, sessions, and pricing, and to identify each kiosk/device, packaged to run both in the cloud and directly on the on-site kiosk hardware.
What We Built
A Strapi API under strapi_api, fronted by an api.js entrypoint and docker-entrypoint.sh, with a fingerprint module for device/session fingerprinting and a dockerfiles directory of build images. A GitLab CI pipeline builds the container; it backs onto MySQL/MariaDB (per the on-device compose configuration in the sibling Balena repo).
Technologies & Approach
Strapi (Node headless CMS) over MySQL/MariaDB, device fingerprinting, and a containerized build wired into GitLab CI, designed to run identically in the cloud and on-device at each locker location.
Outcome / Impact
Provided the data and session backbone for the storage-locker network across cloud and on-device kiosk deployments.
Capabilities Demonstrated
- Headless-CMS / device-backed API design with Strapi
- Device/session fingerprinting integration
- Containerized, CI-built backend services