Amanti

Stagiaire ingénieur logiciel — projet appliqué · OpenTecc · February 2025 — May 2025

  • Java
  • Spring Boot
  • REST APIs
  • MySQL
  • Next.js
  • Material UI
  • Stripe
  • Shopify (Remix)
  • JUnit
  • Mockito
  • SonarQube
  • Docker

La livraison à domicile échoue quand personne n'est là. Amanti achemine les colis vers des commerces de proximité que les clients fréquentent déjà, pour qu'ils les récupèrent quand cela les arrange. J'ai construit la plateforme derrière : le back-end, le tableau de bord, les paiements et le plugin qui l'intègre aux tunnels de commande en ligne.

Le problème central

Amanti s'attaque à la panne du « dernier kilomètre » où les livreurs ratent souvent les clients, entraînant retards, frustration et coûts opérationnels gaspillés. Les solutions existantes comme les casiers centralisés se sont souvent révélées insuffisantes ou peu pratiques.

La solution : un réseau hyper-local

Nous avons construit un modèle pair-à-pair où les colis sont livrés à des commerces de confiance (« points relais ») que les clients fréquentent déjà. Le système comprend une plateforme centrale Spring Boot & Next.js pour la gestion et un plugin Shopify natif pour une intégration fluide.

Exécution technique

  • Sprint 1 : Fondations - Mise en place des entités cœur, du contrôle d'accès par rôle (RBAC) et de la modélisation géographique des points relais.
  • Sprint 2 : Cycle de vie de l'expédition - Construction du flux sécurisé de dépôt/retrait par QR code et vérification photo. Mise en place de la programmation orientée aspect (AOP) pour des traces d'audit automatiques à chaque changement de statut.
  • Sprint 3 : Intégration - Développement d'un plugin Shopify sur mesure qui injecte la sélection du point relais directement dans la page de commande et utilise des webhooks pour le traitement automatisé des commandes.

Le pivot

L'architecture a évolué au fil d'itérations rigoureuses. Nous avons exploré puis écarté des pistes comme le « pré-paiement » et les « extensions de navigateur » pour des raisons de friction UX et de contraintes de sécurité, pour finalement pivoter vers l'architecture de plugin natif, robuste et évolutive.

Analytique

Le tableau de bord offre une vue complète de la santé de l'activité, avec des analyses en temps réel sur les commandes, la performance et les paiements.

Logistique

Gérez efficacement l'ensemble du cycle de vie d'une expédition, de la création à la livraison. Le système prend en charge un suivi détaillé, des journaux d'historique et des processus de dépôt sécurisés.

Retours

Un flux simplifié pour traiter les retours produits, garantissant satisfaction client et efficacité opérationnelle.

Paiements

Une intégration financière robuste avec Stripe, gérant les transactions sécurisées et les versements.

Paramètres

Des options de configuration système complètes pour les réglages généraux, la gestion du compte et le stockage.

Ce que j'en ai retiré

Amanti a été un projet charnière qui m'a appris à combler l'écart entre complexité technique et confort d'utilisation. J'ai appris à naviguer dans les subtilités de l'écosystème Spring Boot à grande échelle, en gérant la logistique du « dernier kilomètre » avec une gestion d'état robuste et un suivi en temps réel. Le principal enseignement a été l'importance de la conception itérative — passer d'une extension de navigateur à un plugin natif fut une décision difficile mais nécessaire, qui a finalement défini la réussite du projet.