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