Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mo3ses/bloodbank
Gerencie bancos de sangue com uma API escalável, segura e organizada, construída com ASP.NET Core (.NET 8). 🚑
https://github.com/mo3ses/bloodbank
asp-net-core clean-architecture cqrs entity-framework-core result-pattern sql-server
Last synced: 12 days ago
JSON representation
Gerencie bancos de sangue com uma API escalável, segura e organizada, construída com ASP.NET Core (.NET 8). 🚑
- Host: GitHub
- URL: https://github.com/mo3ses/bloodbank
- Owner: Mo3ses
- Created: 2024-11-23T11:40:47.000Z (3 months ago)
- Default Branch: master
- Last Pushed: 2024-12-02T21:29:57.000Z (2 months ago)
- Last Synced: 2024-12-02T22:27:07.935Z (2 months ago)
- Topics: asp-net-core, clean-architecture, cqrs, entity-framework-core, result-pattern, sql-server
- Language: C#
- Homepage:
- Size: 69.3 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 🩸 BloodBank - Web API
Bem-vindo ao **BloodBank**, um projeto desenvolvido em **ASP.NET Core (.NET 8)** com foco em boas práticas, organização e escalabilidade. Esta API foi projetada para gerenciar bancos de sangue, possibilitando o cadastro de doadores, consultas e controle de estoques de forma eficiente e segura.
---
## 🚀 **Funcionalidades**
- 📝 **Cadastro e consulta de doadores** com dados armazenados diretamente no SQL Server.
- 🎯 **Migrations automáticas** usando o estilo **Code First**, garantindo flexibilidade para evoluir o esquema do banco de dados.
- 📦 **Result Pattern** implementado para padronizar as respostas da API.---
## 🛠️ **Tecnologias Utilizadas**
- **ASP.NET Core (.NET 8)**: Para criação da API.
- **Entity Framework Core**: Para mapeamento objeto-relacional (ORM) e migrações.
- **SQL Server**: Banco de dados utilizado no projeto.
- **FluentValidation** (planejado): Para validações consistentes.
- **Clean Architecture**: Organização das camadas para melhor manutenção e escalabilidade.
- **Padrões de Projeto**: Result Pattern, com outros padrões planejados como Unit of Work e CQRS.---
## 📂 **Estrutura do Projeto**
O projeto segue os princípios da **Clean Architecture**, com as seguintes camadas:
1. **Domain**: Contém as regras de negócio e entidades principais.
2. **Application**: Camada de lógica de aplicação, incluindo DTOs e validações (com FluentValidation planejado).
3. **Infrastructure**: Implementação de acesso a dados com o Entity Framework Core.
4. **API**: A interface pública para consumidores da aplicação.---
## 🚀 **Como Rodar o Projeto**
### Pré-requisitos
- **.NET SDK 8** instalado.
- **SQL Server** configurado.
- Ferramenta como **Postman** ou **Swagger** para testar a API.### Passos
1. **Clone o repositório**:
```bash
git clone https://github.com/seu-usuario/bloodbank.git
cd bloodbank
```2. **Configure o banco de dados**:
Edite o arquivo `appsettings.json` com sua string de conexão:```json
"ConnectionStrings": {
"BloodBankCs": "Server=.;Database=BloodBank;Trusted_Connection=True;MultipleActiveResultSets=true"
}
```3. **Aplique as migrations**:
```bash
dotnet ef database update
```4. **Execute a aplicação**:
```bash
dotnet run
```5. **Acesse a API**:
- Use o **Swagger UI** em: `http://localhost:{porta}/swagger`
- Ou teste via Postman.---
## 🧩 **Próximos Passos**
- [ ] Implementar validações com **FluentValidation**.
- [ ] Adicionar suporte ao padrão **Unit of Work**.
- [ ] Implementar **CQRS** para separar consultas e comandos.
- [ ] Criar **testes unitários** para aumentar a confiabilidade do código.
- [ ] Melhorar autenticação com **JWT**.---
## 🤝 **Contribuição**
Contribuições são bem-vindas! Se você tiver sugestões ou encontrar problemas, sinta-se à vontade para abrir uma _issue_ ou enviar um _pull request_.
---
## 📝 **Licença**
Este projeto está licenciado sob a **MIT License**. Veja o arquivo [LICENSE](LICENSE) para mais detalhes.