← All work
Product · 2020–21

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
More work See all →