Plataforma integral de comercio electrónico con arquitectura de microservicios, funcionalidades potenciadas por IA y autenticación basada en roles para pequeñas y medianas empresas.
Las pequeñas y medianas empresas necesitan una plataforma integral para gestionar catálogos de productos, aumentar visibilidad, manejar ventas y construir confianza del cliente a través de calificaciones y reseñas, con asistencia IA para experiencia de usuario mejorada.
Plataforma de comercio electrónico basada en microservicios con funcionalidades potenciadas por IA incluyendo procesamiento de carga de voz, búsqueda semántica con embeddings, sistema de autenticación basado en roles e integración de pagos en tiempo real a través de API MercadoPago.
Solución completa de marketplace que permite a emprendedores gestionar sus negocios eficientemente mientras proporciona a compradores capacidades avanzadas de búsqueda y experiencia de compra fluida con descubrimiento de productos mejorado por IA.
Progreso de desarrollo organizado en sprints ágiles con historias de usuario específicas y entregables
Arquitectura distribuida de microservicios con API Gateway centralizado, servicios especializados y bases de datos dedicadas. Implementa patrones de Diseño Dirigido por Dominio y arquitectura hexagonal para mantenibilidad y escalabilidad.
Deep dive en cada microservicio y sus responsabilidades específicas
Snippets de código real del proyecto - implementaciones clave
Configuración de filtros que permiten autorización granular comparando UUIDs del path/query con claims JWT
# Filtro para emprendimientos y productos con UUID en path
shopup.gateway.filter.jwt-id-match.rules[0].name="EmprendimientoProductoGeneralPathUUID"
shopup.gateway.filter.jwt-id-match.rules[0].pathRegex=".*/(emprendimientos|productos)(?:/[a-zA-Z0-9_\\-]+)?/([a-fA-F0-9\\-]{36})(?:/.*)?$"
shopup.gateway.filter.jwt-id-match.rules[0].extractionStrategy=PATH_REGEX_GROUP
shopup.gateway.filter.jwt-id-match.rules[0].pathRegexGroupId=2
shopup.gateway.filter.jwt-id-match.rules[0].jwtClaimName="sub"
# Filtro para productos por query param
shopup.gateway.filter.jwt-id-match.rules[1].pathRegex=".*/productos$"
shopup.gateway.filter.jwt-id-match.rules[1].extractionStrategy=QUERY_PARAM
shopup.gateway.filter.jwt-id-match.rules[1].queryParamName="idEmprendimiento"
Servicio: API Gateway (Spring Cloud Gateway)
Descripción: Punto único de entrada para todas las solicitudes de cliente con autenticación OAuth2, validación JWT y enrutamiento basado en roles a microservicios apropiados
Controller que actúa como adaptador entre HTTP y el dominio, usando DTOs y delegando lógica al service
@RestController
@RequestMapping("/api/emprendimientos")
@Tag(name = "Emprendimientos", description = "Gestión de cuentas de emprendimiento")
public class EmprendimientoController {
private final EmprendimientoService emprendimientoService;
private final ModelMapper modelMapper;
@PostMapping
@Operation(summary = "Registrar nuevo emprendimiento")
public ResponseEntity<EmprendimientoResponseDto> registrarEmprendimiento(
@Valid @RequestBody EmprendimientoRequestDto request) {
// Mapeo a modelo de dominio
Emprendimiento emprendimiento = modelMapper.map(request, Emprendimiento.class);
// Lógica de negocio en el service
Emprendimiento creado = emprendimientoService.registrar(emprendimiento);
// Mapeo a DTO de respuesta
EmprendimientoResponseDto response = modelMapper.map(creado, EmprendimientoResponseDto.class);
return ResponseEntity.status(HttpStatus.CREATED).body(response);
}
}
Servicio: Servicio Core (Microservicio Principal)
Descripción: Servicio principal con arquitectura hexagonal para gestión de emprendimientos y productos
Reflexiones y próximos pasos en el desarrollo
Arquitectura hexagonal mejora significativamente testabilidad y mantenibilidad del código
Spring Cloud Gateway es poderoso pero requiere configuración y testing cuidadoso de filtros
Triggers de base de datos son útiles para sincronización pero pueden complicar flujos de debugging
Keycloak tiene curva de aprendizaje empinada pero proporciona capacidades de autenticación grado empresarial
Docker Compose simplifica desarrollo multi-servicio y asegura consistencia de ambiente
FastAPI con Python sobresale para microservicios especializados en IA con capacidades async
Bean Validation debe complementarse con validación de lógica de negocio en capas de servicio
Documentación OpenAPI/Swagger es esencial para colaboración en equipo y contratos API
Patrones de arquitectura dirigida por eventos son cruciales para mantener consistencia de datos entre servicios
Diseño de estructura de claims JWT impacta directamente complejidad de implementación de autorización
Completar Sprint 8: Finalizar integración Google Maps y sistema de gestión de ventas
Implementar sistema integral de notificaciones con email y notificaciones push
Construir dashboard de analíticas avanzadas con insights de ventas y métricas de negocio
Agregar capa de cache Redis para optimización de performance de consultas frecuentes
Implementar funcionalidades en tiempo real usando WebSocket para actualizaciones de pedidos en vivo
Configurar pipeline CI/CD con testing automatizado y despliegue a infraestructura cloud
Agregar monitoreo integral y logging con stack ELK para preparación de producción
Desarrollar aplicación móvil para experiencia mejorada de compradores y emprendedores
Implementar recomendaciones IA avanzadas para descubrimiento personalizado de productos
Escalar infraestructura para despliegue multi-región y alta disponibilidad
Separación clara de responsabilidades con arquitectura hexagonal
Desarrollo ágil con sprints de 2 semanas y mejora constante
Cada desafío es una oportunidad de crecimiento técnico
Este proyecto está en desarrollo activo como parte de mi Proyecto Final de Ingeniería en Sistemas. Si tienes preguntas sobre la implementación o quieres discutir sobre arquitectura de microservicios, ¡no dudes en contactarme!