⚠️ Nota: Este es un programa de prueba ("Proof of Concept") desarrollado en el transcurso de una semana. Su propósito es demostrar conocimientos técnicos y competencias en las tecnologías implementadas.
Holocron es una aplicación web Full Stack diseñada para gestionar información sobre habitantes y planetas del universo Star Wars. Permite administrar registros de habitantes localmente y consultar información de planetas integrándose con la API pública de Star Wars (SWAPI).
El sistema está construido siguiendo los principios de Clean Architecture y patrones de diseño robustos para garantizar un código mantenible, escalable y testeable.
- API: ASP.NET Core Web API.
- Arquitectura: Clean Architecture (Capas: Domain, Application, Infrastructure, API).
- Patrones: CQRS (Command Query Responsibility Segregation) con MediatR.
- ORM: Entity Framework Core (Code First).
- Integraciones: Cliente HTTP para consumo de API externa (SWAPI).
- Validación y Mapeo: FluentValidation y AutoMapper.
- Core: React con TypeScript.
- Build Tool: Vite.
- Estado: Redux Toolkit (Slices para gestión de habitantes y planetas).
- Estilos: CSS Modules / Styled Components.
- Internacionalización: Soporte multi-idioma (i18n).
- Contenerización: Docker y Docker Compose.
- CI/CD: Pipelines configurados para Azure DevOps y GitHub Actions.
- Cloud Ready: Configuración preparada para Azure Static Web Apps y App Service.
La solución sigue una estricta separación de responsabilidades:
Holocron.Domain: Entidades del núcleo (Inhabitant,Planet) e interfaces del repositorio.Holocron.Application: Lógica de negocio, casos de uso (CQRS Handlers), DTOs y validaciones.Holocron.Infrastructure: Implementación de acceso a datos (EF Core), migraciones y servicios externos (SwapiService).Holocron.API: Controladores REST, configuración de inyección de dependencias y Swagger.Holocron.Web: Aplicación cliente (SPA) en React.Holocron.Tests: Pruebas unitarias e integración.
Si tienes Docker instalado, puedes levantar todo el entorno (Base de datos, Backend y Frontend) con un solo comando:
bash
docker-compose up --build
La aplicación estará disponible en:
-
Frontend:
http://localhost:5173(o puerto configurado). -
API Swagger:
http://localhost:8080/swagger(o puerto configurado).
Backend:
-
Navega a la carpeta de la API:
cd Holocron.API -
Ejecuta:
dotnet run
Frontend:
-
Navega a la carpeta web:
cd Holocron.Web -
Instala dependencias:
npm install -
Inicia:
npm run dev
El proyecto incluye una suite de pruebas para verificar la lógica de negocio y los controladores:
Bash
dotnet test
Creado por xadow0 2025