Skip to content

eduardothomas/InventoryApi

Repository files navigation

🛠️ Inventory API - Backend (.NET 9)

Este proyecto es una API RESTful construida con .NET 9, Entity Framework Core y SQL Server, que permite manejar un inventario de productos, proveedores, usuarios, favoritos y compras. La autenticación se realiza mediante JWT tokens.


🧰 Características

  • Registro e inicio de sesión de usuarios (JWT)
  • Encriptación de contraseñas con BCrypt
  • CRUD de productos y proveedores
  • Asociación de favoritos por usuario
  • Historial de compras
  • Solo administradores (isAdmin) pueden ver usuarios y compras

📦 Requisitos


🚀 Cómo ejecutar el proyecto

  1. Clona el repositorio y entra al proyecto
git clone https://github.com/tuusuario/inventory-api.git
cd inventory-api
  1. Configura la cadena de conexión

Edita appsettings.json y configura la conexión a tu base de datos SQL Server:

"ConnectionStrings": {
  "DefaultConnection": "Server=localhost;Database=InventoryDb;Trusted_Connection=True;TrustServerCertificate=True"
}
  1. Aplica las migraciones y crea la base de datos
dotnet ef database update
  1. Ejecuta la API
dotnet run

Accede a Swagger en http://localhost:5128/swagger


🔐 Endpoints principales

  • POST /api/auth/register → Registro de usuario
  • POST /api/auth/login → Login con JWT
  • GET /api/products → Listado de productos
  • GET /api/favorites → Favoritos del usuario logueado
  • GET /api/purchases → Historial de compras (solo admins)

🧪 Pruebas con Swagger

Para probar endpoints protegidos:

  1. Autentícate con /auth/login
  2. Copia el token JWT
  3. Haz clic en "Authorize" en Swagger e ingresa:
    Bearer <tu_token>

👤 Autor

Desarrollado por Eduardo Thomas

About

Core Backend for the Inventory app

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages