Skip to content

leohtmlmartinez/MiApiBackend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MiApp API

API REST desarrollada con ASP.NET Core 8 para gestionar autenticacion, usuarios y productos.

Tecnologias utilizadas

  • .NET 8
  • ASP.NET Core Web API
  • Entity Framework Core 8
  • SQLite
  • JWT Bearer Authentication
  • Swagger / OpenAPI
  • Arquitectura por capas: WebApi, Application, Domain e Infrastructure
  • Patron Repository
  • Casos de uso en Application
  • Commands y Queries para Products

Estructura del proyecto

  • src/MiApp.WebApi: controladores HTTP, Swagger, autenticacion y configuracion general.
  • src/MiApp.Application: DTOs, interfaces, casos de uso, commands y queries.
  • src/MiApp.Domain: entidades y reglas de dominio.
  • src/MiApp.Infrastructure: DbContext, repositorios, migraciones, SQLite y servicio JWT.

Flujo de una solicitud HTTP

El flujo principal es:

Controller -> Use Case / Handler -> Repository -> DbContext -> SQLite

Los controladores no acceden directamente a la base de datos. La logica de aplicacion queda en MiApp.Application, y el acceso a datos queda en MiApp.Infrastructure.

Como ejecutar

Desde la raiz del proyecto:

dotnet restore
dotnet build MiApp.sln
dotnet run --project src/MiApp.WebApi/MiApp.WebApi.csproj --launch-profile https

Swagger:

  • http://localhost:5284/swagger
  • https://localhost:7032/swagger

Se recomienda usar la URL HTTP durante la correccion para evitar problemas con el certificado local de desarrollo.

Login

Endpoint:

POST /api/Auth/login

Body:

{
  "email": "profesor@miapp.com",
  "password": "MiApp2026!"
}

La respuesta devuelve un token JWT. Para usar los endpoints protegidos, copiar el token y cargarlo en Swagger con el boton Authorize usando:

Bearer TOKEN_GENERADO

Modulos disponibles

  • Auth: login y generacion de JWT.
  • Users: alta, consulta, modificacion y baja de usuarios.
  • Products: alta, consulta, modificacion y baja de productos.

No se expone modulo de roles.

Endpoints principales

Auth:

  • POST /api/Auth/login

Users:

  • GET /api/Users
  • GET /api/Users/{id}
  • POST /api/Users
  • PUT /api/Users/{id}
  • DELETE /api/Users/{id}

Products:

  • GET /api/Products
  • GET /api/Products/{id}
  • POST /api/Products
  • PUT /api/Products/{id}
  • DELETE /api/Products/{id}

Base de datos

La API usa SQLite con el archivo miapp.db, configurado en src/MiApp.WebApi/appsettings.json.

Usuario inicial:

  • Email: profesor@miapp.com
  • Password: MiApp2026!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages