Amanti

Ingeniero de software en prácticas — proyecto aplicado · OpenTecc · February 2025 — May 2025

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

La entrega a domicilio falla cuando no hay nadie en casa. Amanti dirige los paquetes a comercios de barrio que los clientes ya visitan, para que los recojan cuando les venga bien. Construí la plataforma que hay detrás: el back-end, el panel de administración, los pagos y el plugin que la integra en los procesos de compra online.

El problema central

Amanti aborda la avería de la «última milla», donde los mensajeros a menudo no encuentran al cliente, provocando retrasos, frustración y costes operativos desperdiciados. Soluciones existentes como los casilleros centralizados a menudo resultaban insuficientes o poco prácticas.

La solución: una red hiperlocal

Construimos un modelo entre pares donde los paquetes se entregan a comercios de confianza («puntos de recogida») que los clientes ya frecuentan. El sistema comprende una plataforma central Spring Boot & Next.js para la gestión y un plugin nativo de Shopify para una integración sin fricciones.

Ejecución técnica

  • Sprint 1: Fundamentos - Entidades base, control de acceso por roles (RBAC) y modelado geográfico de los puntos de recogida.
  • Sprint 2: Ciclo de vida del envío - Construcción del flujo seguro de entrada/salida mediante códigos QR y verificación fotográfica. Implementación de programación orientada a aspectos (AOP) para trazas de auditoría automáticas en cada cambio de estado.
  • Sprint 3: Integración - Desarrollo de un plugin de Shopify a medida que inyecta la selección del punto de recogida directamente en la página de pago y usa webhooks para el procesamiento automatizado de pedidos.

El giro

La arquitectura evolucionó mediante una iteración rigurosa. Exploramos y descartamos ideas como el «prepago» y las «extensiones de navegador» por fricción de UX y restricciones de seguridad, para finalmente girar hacia la arquitectura de plugin nativo, robusta y escalable.

Analítica

El panel ofrece una visión completa de la salud del negocio, con analítica en tiempo real sobre pedidos, rendimiento y pagos.

Logística

Gestiona eficazmente todo el ciclo de vida del envío, desde su creación hasta la entrega. El sistema admite seguimiento detallado, registros de historial y procesos seguros de entrada/salida.

Devoluciones

Un flujo optimizado para gestionar las devoluciones de productos, garantizando la satisfacción del cliente y la eficiencia operativa.

Pagos

Integración financiera robusta con Stripe, gestionando transacciones seguras y pagos a comercios.

Ajustes

Opciones completas de configuración del sistema para ajustes generales, gestión de la cuenta y almacenamiento.

Lo que aprendí

Amanti fue un proyecto decisivo que me enseñó a tender un puente entre la complejidad técnica y la comodidad del usuario. Aprendí a moverme por las complejidades del ecosistema Spring Boot a gran escala, gestionando la logística de la «última milla» con una gestión de estado robusta y seguimiento en tiempo real. La mayor lección fue la importancia del diseño iterativo: pasar de una extensión de navegador a un plugin nativo fue una decisión difícil pero necesaria que acabó definiendo el éxito del proyecto.