Aeris (Sistema Integrado de Vuelos) es una plataforma completa para la gestión de vuelos, desarrollada bajo los principios de Clean Architecture. Permite a los usuarios buscar vuelos, seleccionar asientos interactivos y gestionar sus reservas, mientras que ofrece a los administradores un panel de control avanzado para la gestión de la flota, el seguimiento GPS en tiempo real y la auditoría operativa.
- Buscador de Vuelos: Sistema de búsqueda avanzada por origen, destino y fecha.
- Selección Dinámica de Asientos: UI interactiva (Layout de Cabina) para la selección visual de asientos.
- Gestión de Reservas: Tablero de historial de vuelos, generación de Tickets/Boarding Pass y cancelación de reservas.
- Seguimiento de Vuelos (Tracker): Telemetría GPS para el monitoreo de vuelos en tiempo real.
- Motor de Temas: Soporte para modo oscuro (Legacy) y claro (Highwind) integrados globalmente.
- Cliente de Escritorio: Aplicación complementaria WPF para la administración de la aerolínea y personal autorizado.
El proyecto está dividido en un Backend robusto (C# / .NET) y dos clientes (Web y Escritorio).
- Framework: Next.js (App Router)
- Librería UI: React 19
- Estilos: Tailwind CSS v4
- Animaciones: GSAP (GreenSock)
- Iconos: Lucide React
Aeris.Api.Web: RESTful API Controllers & Endpoints, Auth.Aeris.Application: Lógica de negocio, Servicios, DTOs y Mapeos.Aeris.Domain: Entidades core (Vuelos, Reservas, Aviones), Interfaces y Enums.Aeris.Persistence: Entity Framework Core, DbContext, Migraciones y Repositorios (Code-First).
- Framework: WPF (Windows Presentation Foundation)
- Patrón: MVVM (Model-View-ViewModel)
El proyecto está completamente dockerizado para facilitar su ejecución tanto en entornos locales (desarrollo) como en producción.
Ejecuta el siguiente comando en la raíz del proyecto para levantar la base de datos SQL Server, la API .NET y el frontend Next.js en contenedores optimizados para producción:
docker-compose -f docker-compose.prod.yml up -d --buildEl cliente web estará expuesto en el puerto 80 (ej: http://localhost) y la API en el 5037.
Para desarrollo, puedes levantar los servicios con hot-reload usando el compose por defecto:
docker-compose up --buildEl cliente estará en http://localhost:3000 y la API en http://localhost:5037.
- .NET 8.0 SDK
- Node.js (v18 o superior)
- SQL Server (Express o LocalDB)
Asegúrate de que tu cadena de conexión en appsettings.json apunte a tu servidor SQL local.
cd Aeris.Api.Web
dotnet ef database update
dotnet runcd aeris
npm install
npm run devEl repositorio cuenta con flujos de Integración y Despliegue Continuo (CI/CD).
Cada Push o Pull Request a la rama main dispara automáticamente:
- Compilación del código .NET (
dotnet build). - Ejecución de pruebas unitarias backend (
dotnet test). - Verificación de dependencias y Build de Next.js (
npm run build). - Construcción de imágenes Docker multi-etapa (preparadas para despliegue en Registries).
La interfaz web de Aeris está pensada para dar una experiencia de aerolínea premium, soportando múltiples temas mediante variables CSS nativas mapeadas a Tailwind v4:
- Highwind (Light): Interfaz limpia, comercial, con acentos en colores rosa y azul.
- Legacy (Dark): Interfaz moderna y oscura con tonos navy y acentos contrastantes (cyan/naranja).