Skip to content
JohanvasquezdevPublic

About

Sistema de Informacion de Vuelos

Resources

Stars

3 stars

Watchers

0 watching

Forks

Repository files navigation

Aeris - Sistema Integrado de Vuelos (SIV)

.NET Next.js React Tailwind CSS C# SQL Server

GitHub Actions CI/CD Docker

El control del cielo en tus manos.

🚀 Descripción del Proyecto

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.

✨ Características Principales

  • 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.

🏗️ Arquitectura y Tecnologías

El proyecto está dividido en un Backend robusto (C# / .NET) y dos clientes (Web y Escritorio).

🖥️ Frontend (Web - aeris/)

⚙️ Backend (.NET 8 - Clean Architecture)

  • 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).

🪟 Cliente de Escritorio (Aeris.Desktop/)

  • Framework: WPF (Windows Presentation Foundation)
  • Patrón: MVVM (Model-View-ViewModel)

🐳 Dockerización y Despliegue (Producción)

El proyecto está completamente dockerizado para facilitar su ejecución tanto en entornos locales (desarrollo) como en producción.

Despliegue de Producción Rápido

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 --build

El cliente web estará expuesto en el puerto 80 (ej: http://localhost) y la API en el 5037.

📦 Instalación y Ejecución (Desarrollo Local)

1. Con Docker (Recomendado)

Para desarrollo, puedes levantar los servicios con hot-reload usando el compose por defecto:

docker-compose up --build

El cliente estará en http://localhost:3000 y la API en http://localhost:5037.

2. Manualmente (Sin Docker)

Requisitos Previos

Levantar Base de Datos y Backend

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 run

Levantar Frontend

cd aeris
npm install
npm run dev

🔄 CI/CD (GitHub Actions)

El repositorio cuenta con flujos de Integración y Despliegue Continuo (CI/CD). Cada Push o Pull Request a la rama main dispara automáticamente:

  1. Compilación del código .NET (dotnet build).
  2. Ejecución de pruebas unitarias backend (dotnet test).
  3. Verificación de dependencias y Build de Next.js (npm run build).
  4. Construcción de imágenes Docker multi-etapa (preparadas para despliegue en Registries).

🎨 Diseño y UI/UX

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).

Desarrollado con ❤️ para redefinir la experiencia de gestión aeronáutica.

About

Sistema de Informacion de Vuelos

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages