Skip to content

Backend core para gestión de stock en freezers. Implementa persistencia con JPA/Hibernate, bases de datos MySQL y algoritmos de optimización de espacios en matrices 2D.

Notifications You must be signed in to change notification settings

Goriguen/StockFreezer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

❄️ StockFreezer

Gestión de Stock y Validación de Reglas de Negocio. Un enfoque de análisis funcional y calidad aplicado al desarrollo de software.


💡 Motivación: Del Caos al Orden

Este proyecto surge de una necesidad real detectada tras mi trayectoria en el rubro gastronómico.

En entornos de alta presión, he sido testigo de cómo la falta de implementación tecnológica y organización impacta negativamente en recursos vitales. La ausencia de jerarquías espaciales definidas y la falta de trazabilidad (quién guardó, cuándo y dónde) son, habitualmente, el inicio del caos operativo.

La Propuesta: Diseñé este sistema bajo la premisa de que reglas estrictas y una lógica impenetrable son la única solución escalable. El software actúa como un auditor en tiempo real, imponiendo orden y estructura allí donde el error humano suele fallar.


🛠 Enfoque del Proyecto

Este desarrollo pone el foco principal en el Análisis Funcional, la Calidad (QA) y la Lógica de Negocio. A diferencia de un proceso tradicional, aquí la codificación inicial sirvió para prototipar la solución, y el análisis posterior para profesionalizarla.

  • Diseño y Reglas: La arquitectura del sistema, la distribución física del freezer (12 compartimentos) y las reglas de validación (como la prevención de contaminación cruzada) fueron definidas íntegramente bajo mi criterio analítico.

  • Implementación Técnica: Utilicé herramientas de IA como soporte para agilizar la escritura de código Java (sintaxis y boilerplate), revisando y validando personalmente cada bloque lógico para asegurar que cumpla estrictamente con los requerimientos diseñados y las reglas de negocio.

  • Objetivo: Demostrar mis capacidades para relevar requerimientos, auditar sistemas y ejecutar pruebas de calidad (QA), utilizando la programación como un medio para el fin.


🚀 Gestión Ágil y Metodología

Para organizar la etapa de consolidación y asegurar un cierre de MVP ordenado, implementé metodología Scrum.

Planificación (Backlog) Cumplimiento (Sprint Cierre) Definición (Ticket & AC)
https://github.com/Goriguen/StockFreezer/blob/0d6bd1c644a89b1f9f431ceda27f461c85d73d86/docs/gestion_agile/jira_backlog_G.jpg https://github.com/Goriguen/StockFreezer/blob/0d6bd1c644a89b1f9f431ceda27f461c85d73d86/docs/gestion_agile/jira_MVP_G_Completo.png https://github.com/Goriguen/StockFreezer/blob/0d6bd1c644a89b1f9f431ceda27f461c85d73d86/docs/gestion_agile/jira_ticket_detallado_G.jpg
Evidencia de organización, priorización de MVP y redacción de criterios de aceptación.

🏗️ Ingeniería Inversa y Documentación

Los siguientes diagramas fueron generados a partir del análisis del código ya escrito, para visualizar, validar y documentar el flujo real de datos del sistema.

1. Lógica Algorítmica (Búsqueda de Espacio)

Diagrama de Actividad que representa el "cerebro" del sistema: el algoritmo que recorre la matriz [Fila][Columna] para encontrar huecos libres.

Algoritmo de Actividad

2. Estructura y Secuencia

Diseño de Clases (Arquitectura en capas) y Diagrama de Secuencia (Interacción de objetos durante una carga masiva).

Diagrama de Clases Diagrama de Secuencia
Clases UML Secuencia

⚙️ Arquitectura Funcional (Reglas de Negocio)

El sistema modela un freezer industrial con las siguientes características:

  1. Topología: 12 Cajones distribuidos en 3 niveles (Inferior, Medio, Superior).
  2. Regla de Exclusividad: Validación lógica estricta que impide mezclar tipos de alimentos (ej: Carne con Pescado) en un mismo cajón.
  3. Visualización: Mapeo visual en consola del estado de ocupación de cada celda.
  4. Algoritmo de Retiro (LIFO): Implementación de lógica Last In, First Out para simular la gravedad y accesibilidad física del cajón. Se prioriza el retiro de los últimos productos ingresados.

📂 Documentación Completa:


💻 Notas Técnicas (Release v1.0)

Detalles sobre la evolución del código y decisiones de arquitectura:

  • Gestión de Memoria vs Base de Datos: Sincronización estricta para asegurar que al borrar un elemento de la BD (MySQL), también se elimine de la lista en memoria RAM, evitando inconsistencias visuales.
  • Cambio de Paradigma: Se migró de una estrategia de Herencia a Composición parametrizada mediante Enums.
  • Strong Typing: Integridad de datos asegurada antes de la persistencia.

▶️ Instalación y Ejecución

Requisitos: Java 17+, MySQL (Puerto 3306), Base de datos stock_freezer_db.

  1. Descargar el archivo StockFreezer.jar.
  2. Ejecutar desde consola:
    java -jar StockFreezer.jar

About

Backend core para gestión de stock en freezers. Implementa persistencia con JPA/Hibernate, bases de datos MySQL y algoritmos de optimización de espacios en matrices 2D.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages