Descripción general
Veira es una plataforma de streaming desarrollada como un proyecto de ingeniería de software.
El objetivo del proyecto es explorar de forma práctica conceptos de backend, frontend, sistemas distribuidos, arquitectura, mensajería, nube y DevOps.
Más allá de construir una aplicación de streaming, el proyecto funciona como un laboratorio de ingeniería para experimentar con diferentes estrategias arquitectónicas y documentar las decisiones tomadas.
Arquitectura
La arquitectura se construye y evoluciona progresivamente.
Entre los principales conceptos explorados se encuentran:
- Domain-Driven Design
- Hexagonal Architecture
- Microservices
- CQRS
- Event-Driven Architecture
- Distributed Systems
Backend
El backend utiliza Java y Spring Boot.
Tecnologías principales:
- Java 25
- Spring Boot 4
- Spring Data JPA
- Spring Security
- PostgreSQL
Mensajería
La comunicación asíncrona se explora a través de:
- Apache Kafka
- RabbitMQ
- Event-driven architecture
- Idempotency
- Estrategias de Retry
- Dead Letter Queue (DLQ)
Nube
El proyecto está preparado para su ejecución en AWS.
Servicios y conceptos explorados:
- API Gateway
- EKS
- Lambda
- S3
- CloudFront
DevOps
El proyecto también se utiliza para estudiar:
- Docker
- GitHub Actions
- CI/CD
- Despliegue automatizado
- Observabilidad
Código fuente
El código fuente del proyecto está disponible en GitHub.