Skip to content

PlekDev/gateGroup

Repository files navigation

GatePredict - Sistema de Catering para Aerolíneas con Visión por IA

License: MIT Flutter FastAPI PostgreSQL

📋 Descripción

GatePredict es un sistema integral de gestión de catering para aerolíneas que optimiza el inventario, reduce el desperdicio y mejora la eficiencia operativa mediante el uso de inteligencia artificial y visión por computadora. El sistema funciona completamente offline durante los vuelos, sincronizando datos automáticamente cuando hay conexión disponible.

🏗️ Arquitectura del Sistema

Sistema ERP/PostgreSQL
    ↓
Genera Flight Plan
    ↓
├─ Vuelo: LX180 MEX→NYC
├─ Fecha: 2025-10-26 08:00
├─ Pasajeros: 180 (120 Economy, 60 Business)
├─ Trolleys asignados: 12
│
└─ Para cada trolley:
   ├─ Trolley ID: 247
   ├─ Tipo: Beverage Cart
   ├─ Ubicación física: Galley 2
   ├─ Drawers: 4
   │
   └─ Contenido COMPLETO:
      ├─ Coca-Cola 330ml: 48 unidades (LOT B302, exp: 2026-03-15)
      ├─ Agua 500ml: 60 unidades (LOT C101, exp: 2026-08-20)
      ├─ Cerveza Corona: 24 unidades (LOT A405, exp: 2025-10-28) ⚠
      ├─ Jugo naranja: 36 unidades (LOT D205, exp: 2026-01-10)
      └─ ... [lista completa]

    ↓
SINCRONIZA a dispositivos móviles
    ↓
Antes de despegar: TODO está offline en la tablet/phone

🚀 Características Principales

Operación 100% Offline

  • Funcionamiento completo sin conexión a internet durante el vuelo
  • Base de datos local SQLite con toda la información necesaria
  • Sincronización automática al restaurar la conexión

Reconocimiento Visual con Gemini API

  • Identificación automática de productos mediante fotografía
  • Actualización de inventario en tiempo real
  • Modo simulación cuando no hay conexión o cámara disponible

Gestión Inteligente de Inventario

  • Alertas de productos próximos a caducar
  • Recomendaciones de uso basadas en fechas de vencimiento
  • Análisis predictivo de consumo según tipo de vuelo y pasajeros

Sincronización Automática

  • Subida automática de datos al aterrizar
  • Registro completo de consumo y métricas
  • Análisis comparativo con vuelos anteriores

🛠️ Tecnologías Utilizadas

  • Frontend: Flutter (Multiplataforma: iOS, Android)
  • Backend: FastAPI (Python)
  • Base de Datos: PostgreSQL (remota) y SQLite (local)
  • Visión por IA: Google Gemini Vision API
  • Modelo Predictivo: Python (scikit-learn/TensorFlow)

📱 Flujo de la Aplicación

FASE 1: PRE-VUELO (Sincronización)

Antes del despegue, la aplicación móvil descarga toda la información necesaria:

  1. Plan de vuelo completo
  2. Detalles de todos los trolleys asignados
  3. Inventario completo con fechas de caducidad
  4. Predicciones de consumo basadas en IA

FASE 2: DURANTE VUELO (Modo Offline)

La tripulación puede realizar múltiples operaciones sin conexión:

Búsqueda de productos

Usuario: "¿Dónde está la Coca-Cola?"
Asistente: "Trolley 247, drawer 3. Tienes 48 Coca-Colas disponibles."

Verificación de caducidad

Usuario: "¿La cerveza Corona está OK?"
Asistente: "⚠ Alerta: Cerveza Corona caduca en 2 días. Úsala primero. 24 unidades en trolley 247."

Verificación visual con foto

Usuario: [Toma foto de un producto sin etiqueta clara]
Asistente: "Es jugo de naranja, LOT D205. Válido hasta enero 2026. Puedes usarlo."

Inventario en tiempo real

Usuario: "¿Cuántas cervezas quedan?"
Asistente: "Quedan 6 cervezas Corona. Suficiente para 6 pasajeros más."

Reportar consumo

Usuario: "Servir 3 Coca-Colas"
Asistente: "Registrado. 45 Coca-Colas restantes."

Recomendaciones inteligentes

Usuario: "¿Qué debo usar primero?"
Asistente: "Prioriza Cerveza Corona, caduca en 2 días. Después usa jugo de naranja (4 meses restantes)."

FASE 3: POST-VUELO (Sincronización)

Al aterrizar y detectar conexión WiFi, la aplicación:

  1. Sube automáticamente todos los datos de consumo
  2. Registra productos faltantes o dañados
  3. Envía métricas de productividad
  4. Actualiza el modelo predictivo con datos reales

📊 Estructura de la Base de Datos

Tablas Principales

FLIGHT_PLAN

  • flight_id, origin, destination, date
  • passengers_economy, passengers_business
  • total_trolleys

TROLLEYS

  • trolley_id, flight_id, type, location
  • total_items, drawers, status

TROLLEY_CONTENTS

  • trolley_id, product_id, product_name
  • lot_number, expiry_date, compartment
  • quantity_initial, quantity_current, quantity_consumed

CONSUMPTION_LOG

  • transaction_id, trolley_id, product_id
  • quantity, timestamp, crew_member
  • sync_status (pending/synced)

ALERTS

  • alert_id, trolley_id, product_id
  • alert_type, message, priority

🚀 Instalación y Configuración

Requisitos Previos

  • Node.js 18+ y npm/yarn
  • Python 3.9+
  • Flutter 3.0+
  • PostgreSQL 12+
  • Cuenta Google Cloud (para Gemini API)

Configuración del Backend

  1. Clonar el repositorio
git clone https://github.com/tu-usuario/gatepredict.git
cd gatepredict/backend
  1. Crear entorno virtual
python -m venv venv
source venv/bin/activate  # Linux/Mac
# o
venv\Scripts\activate  # Windows
  1. Instalar dependencias
pip install -r requirements.txt
  1. Configurar variables de entorno
cp .env.example .env
# Editar .env con tus credenciales
  1. Inicializar base de datos
python init_database.py
  1. Iniciar servidor
uvicorn app.main:app --reload --host 0.0.0.0 --port 8000

Configuración de la Aplicación Flutter

  1. Navegar al directorio de la app
cd flutter_app
  1. Instalar dependencias
flutter pub get
  1. Configurar URL del API
# Editar lib/services/api_service.dart
static const String baseUrl = 'http://TU_IP_SERVIDOR:8000';
  1. Ejecutar aplicación
flutter run

📱 Capturas de Pantalla

Dashboard Principal

Imagen de WhatsApp 2025-10-25 a las 14 09 49_6c0b0d9e

Imagen de WhatsApp 2025-10-25 a las 14 09 50_28f6cdd9

Imagen de WhatsApp 2025-10-25 a las 14 09 50_1b4b655c

Imagen de WhatsApp 2025-10-25 a las 14 09 50_7e26a7c3

Imagen de WhatsApp 2025-10-25 a las 14 09 51_96ccff26

🔄 Flujo de Sincronización

Pre-Vuelo

PostgreSQL (Cloud) → API REST → Tablet/Phone → SQLite Local

Post-Vuelo

SQLite Local → WiFi → API REST → PostgreSQL (Cloud)

📈 Casos de Uso Avanzados

Análisis de Consumo

Usuario: "Dame reporte del vuelo"
Asistente: "Vuelo LX180 completado:
            - Coca-Cola: 85% consumida (41 de 48)
            - Cerveza: 100% consumida (24 de 24) ✅
            - Agua: 60% consumida (36 de 60)
            - Jugo: 40% consumida (14 de 36)
            
            Sugerencia: Próximo vuelo MEX-NYC aumentar cerveza y reducir jugo."

Comparación con Histórico

Usuario: "¿Es normal este consumo?"
Asistente: "Comparado con últimos 10 vuelos MEX-NYC:
            - Cerveza: +15% sobre promedio
            - Jugo: -20% bajo promedio
            
            Posible causa: Viernes en la noche = más cerveza.
            Ruta MEX-NYC viernes: ajustar spec."

👥 Equipo

🙏 Agradecimientos


GatePredict - Optimizando el catering aéreo con inteligencia artificial 🚀✈️

About

Proyect for the HackMty2025

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5