Tecnologias - galoryzen/equipo8-pfinal GitHub Wiki

Tecnologías del Proyecto TravelHub

Web - Frontend

Tecnología Propósito
React 18 Librería UI para construir las SPAs (portal viajeros, portal hoteles/agencias)
TypeScript Tipado estático sobre JavaScript
Vite Build tool y dev server rápido
React Router Navegación y enrutamiento client-side
Axios Cliente HTTP para comunicación con el backend
TailwindCSS Framework CSS utilitario para estilos
React Query (TanStack Query) Manejo de estado del servidor, caché y sincronización
React Hook Form Manejo de formularios
Zod Validación de schemas en frontend
ESLint + Prettier Linting y formateo de código
Vitest Testing unitario

Backend

Tecnología Propósito
Python 3.11+ Lenguaje principal de los microservicios
FastAPI Framework web async para APIs REST
Uvicorn Servidor ASGI de alto rendimiento
Pydantic v2 Validación de datos y contratos de API
SQLAlchemy 2.0 ORM async para acceso a PostgreSQL
Alembic Migraciones de base de datos
HTTPX Cliente HTTP async para comunicación entre servicios
Boto3 SDK de AWS (SQS, EventBridge, SES, S3, Secrets Manager)
Redis (redis-py) Cliente para caché distribuido
Pytest + pytest-asyncio Framework de testing (cobertura >= 70%)
Swagger/OpenAPI Documentación de API (auto-generada por FastAPI)

Mobile

Tecnología Propósito
React Native + Expo Framework cross-platform para iOS y Android
TypeScript Tipado estático
Expo Router Navegación basada en archivos
Axios Cliente HTTP para comunicación con el backend
Expo Notifications Push notifications para cambios de estado de reservas
AsyncStorage Persistencia local de datos no sensibles
expo-sqlite Base de datos local para caché offline de búsquedas
Jest + React Native Testing Library Testing

Infraestructura / Cloud (AWS)

Servicio Propósito
Amazon ECS (Fargate) Orquestación de contenedores serverless
Amazon ECR Registro privado de imágenes Docker
Docker Contenedores
Amazon RDS (PostgreSQL) BD relacional Multi-AZ con réplica cross-region
Amazon ElastiCache (Redis) Caché distribuido por región
Amazon EventBridge Bus de eventos para comunicación entre microservicios
Amazon SQS Colas de mensajes (reservas, notificaciones, PMS sync)
Amazon VPC Red privada Multi-AZ (subredes públicas y privadas)
Application Load Balancer (ALB) Punto de entrada, enrutamiento por path, TLS termination
AWS Cloud Map Service Discovery interno entre microservicios
Amazon S3 Almacenamiento de assets estáticos (React build)
Amazon CloudFront CDN global para distribución con baja latencia
AWS Secrets Manager Gestión de credenciales, API keys, connection strings
Amazon CloudWatch Logs centralizados, métricas, alarmas, dashboards
Amazon SES Envío de emails transaccionales
GitHub Actions Pipelines de CI/CD (build, test, deploy)

En DEV

Componente DEV (local)
Base de datos PostgreSQL (Docker)
Caché Redis (Docker)
Mensajería RabbitMQ (Docker)
Orquestación Docker Compose
Frontend Vite dev server
Secretos .env files
Email Mock