Requisitos previos
Asegúrate de tener instaladas las siguientes herramientas antes de comenzar:- Docker 24 o superior
- Docker Compose v2 (incluido en Docker Desktop)
- Git
Levantar el sistema
Inicia todos los servicios
Construye las imágenes y levanta el stack completo con un solo comando:Esto arranca tres contenedores:
| Contenedor | Servicio | Puerto |
|---|---|---|
perecederos-db | PostgreSQL 15 | 5432 |
perecederos-backend | Spring Boot API | 8080 |
perecederos-frontend | React (Nginx) | 3000 |
Para ejecutar los servicios en segundo plano agrega la bandera
-d: docker-compose up --build -dVerifica que los servicios estén en línea
Espera unos segundos a que Spring Boot termine de iniciar (busca el mensaje Si el servicio está listo, recibirás una respuesta JSON con el resumen del inventario.
Started en los logs) y luego comprueba que el backend responde:Accede al frontend
Abre tu navegador y navega a:Verás la pantalla de inicio de sesión de la aplicación.
Inicia sesión
El sistema usa autenticación simulada guardada en
localStorage. Ingresa cualquier valor en los tres campos del formulario:- Usuario — nombre del operador (por ejemplo,
admin) - Password — cualquier valor (no se valida)
- Tienda — nombre de la tienda (por ejemplo,
Sucursal Norte)
No existe un servidor de autenticación real. Los datos se almacenan en
localStorage del navegador y se usan solo para personalizar la interfaz. Para producción, deberás integrar un mecanismo de autenticación real.Explora el Dashboard
Una vez dentro, el Dashboard muestra tres métricas principales obtenidas de
GET /api/inventario/alertas:- Caducados — productos con fecha de caducidad vencida que requieren retiro inmediato.
- Próximos a caducar — productos con 10 días o menos antes de su caducidad.
- Total alertas críticas — suma de todos los productos que superan el umbral de alerta según su categoría.
Primera llamada a la API
Puedes interactuar directamente con el backend sin usar el frontend. A continuación se muestran algunos ejemplos concurl:
GET /api/dashboard:
El endpoint
/api/dashboard devuelve un objeto JSON plano — no usa el envoltorio ApiResponse. Consulta la Referencia de API para ver todos los campos.Parar los servicios
Para detener todos los contenedores:Próximos pasos
Dashboard
Conoce en detalle cómo funciona el panel de alertas y sus reglas de negocio.
Inventario
Aprende a gestionar el stock y a interpretar las alertas de caducidad.
Recepciones CEDIS
Registra la carga de camiones y filtra por departamento o división.
API Reference
Explora todos los endpoints REST para automatizar flujos o integrar el sistema.