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.
- 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
- Clona el repositorio y entra al proyecto
git clone https://github.com/tuusuario/inventory-api.git
cd inventory-api
- 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"
}
- Aplica las migraciones y crea la base de datos
dotnet ef database update
- Ejecuta la API
dotnet run
Accede a Swagger en http://localhost:5128/swagger
POST /api/auth/register
→ Registro de usuarioPOST /api/auth/login
→ Login con JWTGET /api/products
→ Listado de productosGET /api/favorites
→ Favoritos del usuario logueadoGET /api/purchases
→ Historial de compras (solo admins)
Para probar endpoints protegidos:
- Autentícate con
/auth/login
- Copia el token JWT
- Haz clic en "Authorize" en Swagger e ingresa:
Bearer <tu_token>
Desarrollado por Eduardo Thomas