LibFlow é uma API REST para gerenciamento de livros e autores. A API permite listar, cadastrar, atualizar e excluir livros e autores, além de uma funcionalidade de reserva de livros.
- Gerenciamento de autores (CRUD)
- Gerenciamento de livros (CRUD)
- Reserva de livros (a ser implementado)
- Usuário informa nome do livro e e-mail
- API publica mensagem em uma fila de mensagens
- Serviço consome a mensagem e envia um e-mail de confirmação
- C# / .NET
- Entity Framework Core
- PostgreSQL
- RabbitMQ (para filas de mensagens, em breve)
- SMTP/SendGrid (para envio de e-mails, em breve)
📦 LibFlow
┣ 📂 Controllers
┣ 📂 Models
┣ 📂 Services
┣ 📂 Data
┗ 📂 Dto
- Cada livro deve ter um título e estar vinculado a um autor existente.
- Um livro pode ser atualizado ou removido somente se existir no sistema.
- Um autor deve ter um nome e um sobrenome.
- Não é possível excluir um autor se ele estiver associado a um ou mais livros.
- O usuário informa o nome do livro e seu e-mail.
- A API publica uma mensagem em uma fila de mensagens (RabbitMQ).
- Um serviço consome essa mensagem e envia um e-mail ao usuário confirmando a reserva do livro.
- O livro não será removido ou bloqueado no sistema após a reserva (apenas uma notificação será enviada).
- Clone este repositório:
git clone https://github.com/seu-usuario/LibFlow.git
- Navegue até a pasta do projeto:
cd LibFlow - Instale as dependências:
dotnet restore
- Configure a conexão com o banco de dados no
appsettings.json - Execute as migrações do banco de dados:
dotnet ef database update
- Inicie a API:
dotnet run
- Faça um fork do projeto
- Crie uma branch para sua feature (
git checkout -b feature-nova) - Commit suas alterações (
git commit -m 'Adiciona nova funcionalidade') - Envie para o repositório (
git push origin feature-nova) - Abra um Pull Request
Este projeto está sob a licença MIT.