Skip to content

Xadow0/holocron

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

170 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Holocron

⚠️ 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.

📖 Descripción

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.

🚀 Stack Tecnológico

Backend (.NET Core)

  • 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.

Frontend (React)

  • 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).

Infraestructura & DevOps

  • 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.

📂 Estructura del Proyecto

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.

🛠️ Cómo Ejecutar el Proyecto

Opción Rápida: Docker (Recomendado)

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).

Ejecución Manual

Backend:

  1. Navega a la carpeta de la API: cd Holocron.API

  2. Ejecuta: dotnet run

Frontend:

  1. Navega a la carpeta web: cd Holocron.Web

  2. Instala dependencias: npm install

  3. Inicia: npm run dev

✅ Tests

El proyecto incluye una suite de pruebas para verificar la lógica de negocio y los controladores:

Bash

dotnet test

Creado por xadow0 2025

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages