Raízes do Nordeste API
API REST para pedidos multicanal, inventario por unidad y pagos simulados
2026
Contexto
Raízes do Nordeste es una API REST desarrollada para una actividad académica de Proyecto Back-End. El sistema centraliza la operación de una cadena de restaurantes con múltiples unidades: usuarios, catálogo, inventario, pedidos, campañas, cupones, fidelización y pagos. El objetivo técnico fue integrar estos recursos mediante reglas de negocio consistentes, en lugar de tratarlos como módulos CRUD independientes.
Arquitectura
La aplicación utiliza Java 17 y Spring Boot 3.5, con separación entre controllers, services y repositories. Los DTO definen el contrato HTTP y centralizan las validaciones de entrada. JPA y Hibernate realizan el mapeo relacional, mientras Flyway mantiene reproducible la evolución de la base de datos. El entorno local y las pruebas usan H2; también existe configuración para PostgreSQL.
Flujos críticos y consistencia
La creación de un pedido reserva el inventario de la unidad elegida y aplica los beneficios en la secuencia campaña, cupón y puntos. La operación es transaccional y acepta Idempotency-Key, lo que evita pedidos duplicados cuando se reintenta la misma solicitud.
El pago pasa por un gateway simulado capaz de aprobar, rechazar o reproducir una indisponibilidad técnica. Una máquina de estados controla el avance del pedido, la expiración automática de reservas y la cancelación con devolución de inventario, compensación de beneficios y reembolso. Las actualizaciones condicionales y los bloqueos pesimistas protegen inventario, campañas, cupones, pagos y cancelaciones frente a conflictos concurrentes.
Estados y transiciones controlados por el servicio de pedidos.
Seguridad y protección de datos
La autenticación utiliza JWT y contraseñas protegidas con BCrypt. La autorización combina perfiles con reglas contextuales, como la propiedad del pedido y las unidades asignadas al empleado. El proyecto también registra la aceptación versionada de los términos, un consentimiento separado para fidelización, la anonimización de cuentas y los identificadores seudonimizados en los logs.
Validación y límites
La solución cuenta con 255 pruebas automatizadas. El contrato OpenAPI documenta 49 operaciones y la colección Postman reúne 35 solicitudes encadenadas con 55 aserciones. Como delimitación, el gateway no realiza transacciones financieras reales y la aplicación no representa un despliegue de producción.