Skip to content

Projeto da mentoria do Luís Felipe para criação de um aplicação para gerencimaneto de livros em uma biblioteca

License

Notifications You must be signed in to change notification settings

higormetodio/BookManagement

Repository files navigation

BookManagement

Esse é um projeto proposto pela Mentoria do Luiz Felipe na plataforma Next Wave Education. O projeto consiste em um sistema de gerenciamento de livros, que visa atender algumas necessidades do que seria uma biblioteca.

Requisitos Iniciais 📄

✅ Cadastro de livro

✅ Consulta de todos os livros

✅ Consulta de um livro específico

✅ Remoção de livro

✅ Cadastro de usuário

✅ Cadastro de empréstimo

✅ Devolução do livro

✅ Emitir email um dia antes informando que a devolução está próxima e enviar email informando o atraso da devolução.

Novas Features 🆕

✅ Controle de estoque de livros (para atender o relacionamento N:N entre livros / empréstimos / usuários), sabendo quantos livros estão disponíveis e quantos estão emprestados.

✅ Consulta de um livro e seus empréstimos

✅ Método HTTP Patch - Atualização do status Ativo do livro e usuário para os casos em que deseja-se reativá-los novamente, já que a deleção não faz a remoção lógica do banco de dados e somente atualiza para que o livro ou o usuário esteja inativo.

✅ Consulta de um usuário e seus empréstimos

✅ Validação da API utilizando Fluent Validation

✅ Autenticação e Autorização utilizando JWT

✅ Documentação da API no Swagger

✅ Testes Unitátios com XUnit

✅ WebApp em Razor Pages

Temas Abordados 📝

▶️ Arquitetura Limpa

▶️ Padrão CQRS

▶️ Padrão Repository

▶️ Padrão Result

▶️ Programação Assíncrona

▶️ Testes Unitários

Tecnologias

▶️ C#

▶️ ASP.NET Core 8

▶️ Entity Framework Core 8.0

▶️ SQL Server

▶️ Swagger

▶️ XUnit

Docker Desktop com SQL Server

Obtendo imagem oficial SQL Server para um container Docker

docker pull mcr.microsoft.com/mssql/server:2022-latest

Rodando o SQL Server

docker run --name sqlserver -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=1q2w3e4r@#$" -p 1433:1433 -d mcr.microsoft.com/mssql/server:2022-latest

Pacotes instalados

▶️ Microsoft.EntityFrameworkCore.SqlServer

▶️ MediatR

▶️ Microsoft.AspNetCore.JsonPatch

▶️ Microsoft.AspNetCore.Mvc.NewtonsoftJson

▶️ Swashbuckle.AspNetCore

About

Projeto da mentoria do Luís Felipe para criação de um aplicação para gerencimaneto de livros em uma biblioteca

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages