Tecnologías a utilizar S1 - JohannPaezU/MISW4501-MediSupply GitHub Wiki
Tecnologías a utilizar
Criterios de selección
Las tecnologías se eligen considerando:
-
Cumplimiento de SLA/SLO (latencia, disponibilidad, DR < 6 h).
-
Escalabilidad para crecimiento 5 años.
-
Integración multi-país y multi-idioma.
-
Plazo fijo de 16 semanas, por lo que se priorizan soluciones maduras y con soporte cloud.
Desarrollo de la aplicación
Frontend Web
-
Framework: Angular ^17 (estable, modular y con soporte para aplicaciones complejas).
-
UI Library: PrimeNG / Angular Material para componentes reutilizables.
-
Internacionalización (i18n): ngx-translate para ES/EN.
Aplicación Móvil
- Lenguaje: Kotlin
Backend
-
Lenguaje/Framework: Python con FastAPI para microservicios ligeros y de alto rendimiento.
-
Arquitectura: microservicios con API Gateway.
-
Autenticación/Autorización: pyJWT
-
Ruteo y mapas: API Google Maps
Base de datos
-
Principal: PostgreSQL.
-
Procesamiento de datos: Python.
Operación y despliegue
Infraestructura
-
Cloud: GCP.
-
Orquestación: Kubernetes para contenedores Docker.
-
CI/CD: GitHub Actions
-
Balanceo: Google Cloud Load Balancing
Justificación
-
Angular: garantiza rapidez en desarrollo debido a que el equipo de desarrollo ya cuenta con conocimientos en dicho framework, consistencia UI y gran escalabilidad para proyectos de gran tamaño.
-
FastAPI + microservicios: desacople, escalado independiente y facilidad de mantenimiento.
-
PostgreSQL: gran consistencia, velocidad y capacidad de manejo de grandes volúmenes.
-
Kubernetes: despliegue repetible, escalado automático y alta disponibilidad.
-
Kotlin: Garantiza rapidez en desarrollo debido a que el equipo de desarrollo ya cuenta con conocimientos en dicho lenguaje, ademas un desarrollo nativo permite una mejor maniobrabilidad y personalización a los detalles requeridos