SportMedics Backend
Sistema de microservicios para la gestión integral de un gimnasio local.
SportMedics es un sistema backend concebido para resolver las necesidades operativas de un gimnasio ubicado en la comuna de La Cisterna. El objetivo central de este proyecto fue llevar a la práctica conceptos avanzados de ingeniería de software para automatizar de extremo a extremo la gestión de accesos, facturación, suscripciones, rutinas de entrenamiento y control de inventario.
Para lograr una alta escalabilidad se implementó una arquitectura de microservicios utilizando Spring Boot.
Arquitectura del Sistema
El proyecto está diseñado pensando en el largo plazo y en la resiliencia, aplicando patrones de distribución que aseguran que el fallo en un módulo no afecte a todo el sistema:
- 10 Microservicios Independientes: El sistema se divide lógicamente en módulos con responsabilidades únicas y acotadas (Miembros, Suscripciones, Facturación, Inventario, Notificaciones, Autenticación, etc.).
- Bases de Datos Aisladas: Se implementó el patrón Database-per-Service. Cada microservicio es dueño exclusivo de su propio esquema en MySQL, garantizando el aislamiento de los datos.
- API Gateway & Eureka: Un único punto de entrada seguro (API Gateway) enruta inteligentemente las peticiones, mientras que Eureka Server maneja el registro y descubrimiento dinámico de todos los servicios.
- Comunicación Interna: La interacción síncrona entre microservicios se resolvió eficientemente utilizando OpenFeign.
Próximos Pasos
El próximo paso en el desarrollo de SportMedics es migrar su infraestructura local hacia la nube de Amazon Web Services (AWS).
- Una VPC estructurada con subredes públicas y privadas para proteger los microservicios y bases de datos.
- Migración hacia bases de datos gestionadas en Amazon RDS para garantizar alta disponibilidad.
- Despliegue de los contenedores utilizando Amazon EC2 y Auto Scaling Groups para absorber los picos de tráfico en las horas punta del gimnasio.