Este proyecto es una API RESTful desarrollada en .NET Core que proporciona funcionalidades CRUD (Crear, Leer, Actualizar y Eliminar) para la gestión de facturas y productos. Se conecta a una base de datos SQL Server para realizar todas las operaciones de persistencia.
- 🔄 Operaciones CRUD: Funcionalidades básicas para manejar productos, facturas y detalles de facturas.
- 🛠️ Controladores: Gestión de los endpoints mediante controllers para cada entidad, como productos, facturas y detalles.
- 📦 DTOs (Data Transfer Objects): Uso de DTOs para la transferencia de datos entre las capas del sistema.
- 🔍 Filtros de validación: Se implementan filtros personalizados para manejar la validación de datos y posibles errores.
- 🗺️ Perfiles de AutoMapper: Uso de AutoMapper para mapear entre las entidades del dominio y los DTOs.
- 💾 Conexión con SQL Server: La base de datos utilizada es SQL Server, y las conexiones se manejan a través de Entity Framework Core.
- C#: Lenguaje principal para el desarrollo.
- .NET Core 6.0: Framework utilizado para construir la API.
- Entity Framework Core: ORM (Object-Relational Mapping) para interactuar con la base de datos SQL Server.
- SQL Server: Base de datos utilizada para persistir la información.
- AutoMapper: Librería para mapear entre entidades y DTOs.
- ASP.NET Core MVC: Arquitectura utilizada para construir los controladores y manejar las peticiones HTTP.
- Controllers: Contiene los controladores que manejan las solicitudes HTTP. Cada controlador está relacionado con una entidad (Productos, Facturas, Detalles).
- DTOs: Definición de los objetos de transferencia de datos utilizados entre las capas del sistema.
- Filters: Implementación de filtros para la validación y manejo de errores.
- Models: Modelos de las entidades que representan las tablas de la base de datos.
- Profiles: Configuraciones de AutoMapper para mapear entre los modelos y los DTOs.
- Program.cs: Archivo principal para la configuración de la aplicación.
- .NET 6.0 SDK o superior.
- SQL Server instalado localmente o en un servidor accesible.
- Visual Studio 2022 (recomendado para desarrollo y depuración).
- Postman (opcional, para probar los endpoints de la API).
-
Clona el repositorio:
git clone https://github.com/usuario/API-CRUD-Facturacion.git cd API-CRUD-Facturacion
-
Configura la cadena de conexión:
Abre el archivo
appsettings.json
oappsettings.Development.json
y configura la cadena de conexión a tu instancia de SQL Server:{ "ConnectionStrings": { "DefaultConnection": "Server=tu_servidor;Database=nombre_base_datos;User Id=tu_usuario;Password=tu_contraseña;" } }
-
Restaura las dependencias:
dotnet restore
-
Aplica las migraciones a la base de datos:
Utiliza Entity Framework para aplicar las migraciones y crear las tablas necesarias en tu base de datos de SQL Server:
dotnet ef database update
-
Ejecuta la aplicación:
dotnet run
La API estará disponible en
http://localhost:5000
o el puerto que hayas configurado.
Los principales endpoints de la API incluyen:
- /api/productos: CRUD para los productos.
- /api/facturas: CRUD para las facturas.
- /api/detalles: CRUD para los detalles de las facturas.
Puedes usar herramientas como Postman o cURL para interactuar con estos endpoints.
- Envía solicitudes POST, GET, PUT o DELETE a los endpoints de la API.
- La API interactuará con la base de datos SQL Server para realizar las operaciones CRUD.
- Los resultados o errores serán devueltos en formato JSON.
Las contribuciones son bienvenidas. Si tienes alguna idea para mejorar el proyecto, no dudes en hacer un fork y enviar un pull request.
- Haz un fork del proyecto.
- Crea una nueva rama (
git checkout -b feature/nueva-funcionalidad
). - Realiza tus cambios (
git commit -am 'Agregada nueva funcionalidad'
). - Haz push a tu rama (
git push origin feature/nueva-funcionalidad
). - Abre un pull request.
Este proyecto está bajo la Licencia MIT - consulta el archivo LICENSE para más detalles.