Smart Locker - ECO PBC
Une infrastructure complète de smart lockers conçue pour des distributeurs automatiques, combinant une plateforme d’administration en temps réel, une application Android pour les machines, une API backend et une interface super admin pour gérer les ventes, les casiers, les stocks, la supervision et les opérations des machines à grande échelle.
Date: May 2025
Tags: API, Mobile App, Security, Hardware
Hero image: https://404found.dev/api/media/portfolio/dbcbadde-a9a5-4a86-a886-2a96316b2055.png
Project content
## Vue d’ensemble Smart Lock EcoPBC est une infrastructure complète conçue pour exploiter des machines de distribution automatique à casiers connectés. Le système combine plusieurs éléments interconnectés : - une plateforme d’administration pour la gestion des machines et de l’activité - une application Android utilisée directement sur les machines - une API backend qui gère la logique métier principale - une interface de super administration pour la supervision globale et le support L’objectif du projet était de permettre aux opérateurs de configurer les machines, gérer les casiers et les stocks, suivre l’activité des ventes, et permettre aux utilisateurs finaux d’acheter des produits directement depuis l’interface de la machine. Une fois l’achat finalisé, le bon casier s’ouvre automatiquement afin que le client puisse récupérer son produit. ## Périmètre produit Ce projet allait bien au-delà d’une application web classique. Il s’agissait d’un véritable écosystème produit construit autour de l’interaction avec du matériel, de la synchronisation en temps réel, d’outils opérationnels et de workflows transactionnels. L’infrastructure comprend : - la gestion d’un parc de machines - la configuration et le contrôle des casiers - la gestion des stocks et des prix - le suivi des paiements et des transactions - les workflows de réapprovisionnement - les rapports d’erreurs et les journaux d’activité - le suivi en temps réel de la connectivité des machines - la gestion des organisations et des utilisateurs - des outils de super administration pour le support et la maintenance ## Plateforme d’administration La partie administration est le centre de contrôle principal du système. Elle permet aux opérateurs de : - suivre l’activité globale des machines via des tableaux de bord - consulter le chiffre d’affaires, les transactions, le panier moyen et les performances de vente - accéder à un tableau de bord orienté ventes avec des projections mensuelles - créer et organiser des sites - gérer les machines et leur configuration - configurer les casiers individuellement - définir le statut des casiers, par exemple disponible, indisponible ou casier système - contrôler l’ouverture des casiers à distance - gérer les stocks et les prix - consulter les performances par machine et par site - surveiller les journaux, les erreurs et les signalements clients - gérer les organisations, les utilisateurs et les permissions Un système de permissions granulaire a également été mis en place afin que chaque utilisateur puisse être autorisé ou restreint sur certaines zones de l’application selon son rôle. ## Application machine L’application côté machine a été développée pour des tablettes Android intégrées aux distributeurs. Elle fournit le parcours d’achat côté client et prend en charge différents comportements de machine : - casiers avec produit unique - casiers avec plusieurs produits - ouverture automatique du casier après paiement - mode maintenance - écran d’accueil personnalisé avec carrousel et libellés sur mesure - signalement d’erreurs côté client L’interface machine est synchronisée avec le backend en temps réel, ce qui permet au système d’administration de savoir si une machine est en ligne, déconnectée ou en train de traiter des événements. ## Super administration Une interface de super administration a également été ajoutée pour gérer l’infrastructure à un niveau plus global. Elle offre une vue opérationnelle complète et permet aux administrateurs internes d’inspecter les machines, d’accéder à des informations détaillées, et d’aider au support ou à la maintenance entre différentes organisations. Une partie particulièrement utile de cette interface est la possibilité, pour le super administrateur, d’accéder à la même vue détaillée d’une machine que l’organisation qui l’utilise. Cela rend le diagnostic et la résolution des problèmes beaucoup plus simples. ## Mon rôle J’ai développé le projet de bout en bout. Mon travail incluait : - le développement backend - le développement frontend de l’administration - le développement de l’application machine - le travail d’interface et de design - les décisions d’architecture système - la gestion des événements en temps réel - la logique de gestion des casiers et des stocks - la gestion des organisations et des permissions - la logique d’appairage et d’identité des machines - les outils opérationnels et les fonctionnalités de supervision J’ai également été fortement impliqué dans la réflexion produit. Le client n’avait pas toujours de spécification entièrement définie, j’ai donc proposé et conçu une partie importante de la logique produit ainsi que plusieurs workflows qui ont ensuite été intégrés au système. Ce projet a aussi été ma première application mobile réellement complète développée avec `React Native`, ce qui en a fait une étape technique importante pour moi. ## Défis techniques Deux parties ont été particulièrement complexes. La première concernait le système de contrôle des casiers. Au départ, le projet reposait sur un prestataire externe et son API pour communiquer avec les machines. Avec le temps, cette approche s’est révélée trop instable, l’architecture a donc évolué vers une solution interne mieux maîtrisée, utilisant notre propre bibliothèque matérielle et une gestion des casiers pilotée par le backend. Ce changement a fortement amélioré la fiabilité et nous a donné beaucoup plus de contrôle sur le moment et la manière dont les casiers s’ouvrent. Le deuxième grand défi concernait la synchronisation des machines en temps réel. Le système devait savoir à tout moment : - si une machine était connectée - quel événement venait de se produire - quand un casier avait été ouvert - quand un réapprovisionnement avait été effectué - quand une erreur avait été signalée - quand un paiement avait été validé J’ai utilisé `Socket.IO` pour gérer cette communication en temps réel, mais parvenir à une implémentation stable a demandé du temps. Le comportement de reconnexion, la persistance entre les routes et la fiabilité globale ont nécessité plusieurs itérations avant que le système devienne pleinement fiable. ## Points techniques clés Parmi les parties les plus intéressantes du projet : - connectivité machine en temps réel avec `Socket.IO` - appairage entre une machine et le backend via OTP - identification persistante de la machine grâce à l’identifiant matériel de la tablette - configuration des casiers et ouverture à distance - workflows de réapprovisionnement et gestion de l’état des casiers - assignation des stocks et propagation automatique des prix - journaux opérationnels, suivi des erreurs et signalements clients - tableaux de bord avec métriques métier et projections de ventes - outils de support pour la super administration - gestion des organisations et des rôles granulaires Un détail que j’ai particulièrement apprécié est le système d’appairage. Plutôt que de nécessiter une intervention technique manuelle à chaque installation de machine, j’ai conçu un parcours similaire à l’activation d’une smart TV. Un code OTP peut être généré depuis l’administration, saisi sur la machine, puis l’association persiste dans le temps grâce à l’identité matérielle de l’appareil. Cela a rendu le déploiement et la maintenance beaucoup plus fluides. ## Pourquoi ce projet est important Smart Lock EcoPBC est l’un des projets les plus complets et atypiques de mon portfolio. Il démontre ma capacité à travailler sur : - le frontend - le backend - le mobile - les systèmes temps réel - les workflows proches du matériel - les outils métier - le design produit - la fiabilité opérationnelle Il montre également que je peux aller au-delà des interfaces web traditionnelles et construire des systèmes où le logiciel interagit avec des appareils physiques, des opérations réelles et des flux métier critiques. ## Statut Le projet est en production, stable et activement utilisé. Il est en préparation pour un déploiement plus large auprès d’autres entreprises et sur davantage de machines. Le repository est privé et aucune démo publique n’est disponible.
Gallery
Voir aussi
Agent WhatsApp IA & Service de gestion pour agence de voyageMise en place d'un agent conversationnel WhatsApp piloté par IA pour une agence de voyage bruxelloise, basé sur Chatwoot et n8n. Qualification automatique des demandes, routage intelligent vers les conseillers et historique centralisé.







