Skip to content

LucianoCBarilari/ItemComparacion

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 

Repository files navigation


ItemComparacion

Este proyecto está desarrollado en C# .NET 8 utilizando Visual Studio 2022.

Para la persistencia de datos se utiliza SQLite, elegido por su rapidez y facilidad de configuración. Además, se incluye un DataSeed con aproximadamente 10 registros iniciales, pensado para completar el circuito de funcionamiento, probar el desempeño y permitir que cualquier usuario disponga de datos reales apenas inicia la API.

La estructura del proyecto sigue el patrón de carpetas orientado a Repository, y cada capa de abstracción cuenta con su propia interfaz, asegurando una arquitectura desacoplada y fácilmente ampliable.

Con Swagger, los endpoints pueden probarse de forma sencilla desde el navegador.

Los endpoints:

/api/Product/compare
/api/Product/getall
/api/Product/addrecord

Los Endpoints getall y addrecord están diseñados para validar la funcionalidad, revisar el comportamiento general de la API y obtener GUIDs adicionales para futuras pruebas.

Requisitos

Si solo querés ejecutarlo sin tocar el código:

  • ASP.NET Core Runtime 8.0.22

Descarga desde: https://dotnet.microsoft.com/es-es/download/dotnet/8.0

Probado en Windows 11.


Arquitectura del proyecto

/Repository
/Services
/Models
/DTOs
/DataAccess
/Controllers
  • Repository → Interacción con SQLite.
  • Services → Lógica de negocio.
  • Models → Entidades internas.
  • DTOs → Objetos expuestos al cliente.
  • DataSeed → Datos iniciales.
  • DataAccess → DbContext y configuración EF Core.

Los modelos nunca se exponen directamente, siempre se usan DTOs.


Swagger

La API expone Swagger automáticamente, accesible en:

https://localhost:8071/swagger

Configuración de URLs

"Urls": "http://0.0.0.0:8071"

Dependencias NuGet principales

<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="8.0.22" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="8.0.22" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="8.0.22" />
<PackageReference Include="Swashbuckle.AspNetCore" Version="8.1.4" />

Cómo ejecutarlo

No hace falta usar dotnet restore ni dotnet run.

En la carpeta /build encontrarás un archivo .exe ya compilado y listo para ejecutar la API directamente.


Endpoint de ejemplo

Comparación de productos por GUID:

GET /api/Product/compare?guids=b670b04c-42af-fd64-414f-3c910aa3b1b5&guids=1d91e9af-79c8-2336-6fbf-c4378fca8358&guids=742112f6-9537-9b59-e23b-cee087387f30


Texto y comentarios corregidos con IA.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages