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.

Diagrama de estados del pedido, desde la reserva hasta el pago, la entrega o la cancelación.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.

GitHub