Skip to content

Latest commit

 

History

History
107 lines (67 loc) · 2.22 KB

File metadata and controls

107 lines (67 loc) · 2.22 KB

Sistema de Ventas - API REST (ASP.NET Core)

Descripción

Este proyecto es una API REST desarrollada en C# con ASP.NET Core, orientada a la gestión básica de un sistema de ventas.

El sistema permite manejar entidades comunes como productos, clientes y ventas, siguiendo principios de Clean Architecture, lo que facilita la organización del código, su mantenibilidad y escalabilidad.

⚠️ Nota: Este proyecto es de carácter educativo y no está diseñado para ser utilizado en entornos de producción.


Arquitectura

El proyecto sigue el enfoque de Clean Architecture, separando responsabilidades en diferentes capas:

  • Domain → Entidades y reglas de negocio
  • Application → Casos de uso, lógica de negocio, DTOs
  • Infrastructure → Acceso a datos (Entity Framework Core, PostgreSQL)
  • Presentation (API) → Controladores y endpoints

Esto permite:

  • Bajo acoplamiento
  • Mayor testabilidad
  • Mejor organización del código

Tecnologías utilizadas

  • C#
  • ASP.NET Core Web API
  • Entity Framework Core
  • PostgreSQL
  • AutoMapper

Instalación y configuración

1. Clonar el repositorio

git clone https://github.com/tu-usuario/tu-repo.git
cd tu-repo

2. Configurar la base de datos

Asegúrate de tener instalado PostgreSQL y crea una base de datos.

Luego, configura la cadena de conexión en el archivo:

appsettings.json

Ejemplo:

"ConnectionStrings": {
  "DefaultConnection": "Host=localhost;Port=5432;Database=VentasDB;Username=postgres;Password=tu_password"
}

3. Aplicar migraciones

Ejecuta el siguiente comando para crear la base de datos y aplicar las migraciones:

dotnet ef database update

4. Ejecutar el proyecto

dotnet run

La API estará disponible en:

https://localhost:5001

Uso

Una vez ejecutada la aplicación, puedes probar los endpoints utilizando

  • Herramientas como Postman o curl

Notas adicionales

  • Se utiliza AutoMapper para mapear entre entidades y DTOs.
  • La estructura del proyecto sigue principios de separación de responsabilidades.
  • El proyecto está pensado como base de aprendizaje o prototipo inicial.