https://github.com/italoalencar/library-minimalapi
Minimal API .NET 8
https://github.com/italoalencar/library-minimalapi
asp-net-core csharp sql-server
Last synced: about 1 month ago
JSON representation
Minimal API .NET 8
- Host: GitHub
- URL: https://github.com/italoalencar/library-minimalapi
- Owner: italoalencar
- Created: 2025-03-06T01:57:09.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-11T22:49:27.000Z (over 1 year ago)
- Last Synced: 2025-07-27T02:55:04.505Z (11 months ago)
- Topics: asp-net-core, csharp, sql-server
- Language: C#
- Homepage:
- Size: 35.2 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Biblioteca API - Simulação de Empréstimos
Este projeto é uma aplicação de simulação de biblioteca, desenvolvida com .NET 8 utilizando Minimal API. A aplicação permite gerenciar livros, autores, clientes e empréstimos. Além disso, implementa autenticação e autorização usando JWT e controle de acesso baseado em papéis (role-based access control).
**Minimal API:** É um estilo de desenvolvimento de APIs que simplifica a criação de endpoints HTTP ao eliminar a necessidade de controllers. Ele reduz a quantidade de código e configurações exigidas, tornando a implementação mais leve, direta e eficiente.
[Leia mais na documentação oficial da Microsoft.](https://learn.microsoft.com/en-us/aspnet/core/fundamentals/minimal-apis/overview?view=aspnetcore-8.0)
## Tecnologias Utilizadas
- **.NET 8**: Framework principal utilizado para o desenvolvimento da API.
- **ASP.NET Core**: Plataforma para criação de aplicações web modernas e APIs de alto desempenho.
- **Entity Framework Core (EF Core)**: ORM (Object-Relational Mapper) que facilita a comunicação da aplicação com o banco de dados SQL Server.
- **Identity**: Sistema de autenticação e autorização utilizado para gerenciar usuários, senhas e permissões.
- **JWT (JSON Web Tokens)**: Usado para autenticação e autorização de usuários, permitindo o acesso seguro a endpoints protegidos.
- **AutoMapper**: Biblioteca para mapeamento automático de objetos, reduzindo a necessidade de conversões manuais entre entidades e DTOs.
- **SQL Server**: Banco de dados relacional.
- **Swagger**: Ferramenta para documentação e teste interativo da API.
## Funcionalidades
Alguns dos recursos que a aplicação oferece:
### Endpoints Públicos:
- **GET /books**: Lista todos os livros disponíveis na biblioteca.
- **GET /authors**: Lista todos os autores registrados.
- **POST /users/create**: Registra um cliente.
- **POST /users/login**: Realiza o login do cliente.
### Endpoints Requerendo Autenticação:
- **POST /loans**: Realiza o empréstimo de um livro.
- **GET /loans**: Lista todos os empréstimos realizados pelo cliente autenticado.
### Endpoints Requerendo Role de Admin:
- **POST /books**: Cria um novo livro.
- **POST /authors**: Cria um novo autor.
- **GET /loans/users**: Lista todos os empréstimos realizados.
> Após rodar a aplicação, você pode acessar a documentação Swagger completa e interativa no seguinte endereço:
- `https://localhost:7105/swagger/index.html`