{"id":22324566,"url":"https://github.com/mo3ses/bloodbank","last_synced_at":"2026-05-04T06:32:54.823Z","repository":{"id":264323012,"uuid":"893043445","full_name":"Mo3ses/BloodBank","owner":"Mo3ses","description":"Gerencie bancos de sangue com uma API escalável, segura e organizada, construída com ASP.NET Core (.NET 8). 🚑","archived":false,"fork":false,"pushed_at":"2024-12-02T21:29:57.000Z","size":71,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-26T05:43:11.137Z","etag":null,"topics":["asp-net-core","clean-architecture","cqrs","entity-framework-core","result-pattern","sql-server"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Mo3ses.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-23T11:40:47.000Z","updated_at":"2024-12-02T21:30:01.000Z","dependencies_parsed_at":"2024-11-23T12:38:57.640Z","dependency_job_id":null,"html_url":"https://github.com/Mo3ses/BloodBank","commit_stats":null,"previous_names":["mo3ses/bloodbank"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mo3ses%2FBloodBank","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mo3ses%2FBloodBank/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mo3ses%2FBloodBank/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mo3ses%2FBloodBank/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Mo3ses","download_url":"https://codeload.github.com/Mo3ses/BloodBank/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245598310,"owners_count":20641884,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["asp-net-core","clean-architecture","cqrs","entity-framework-core","result-pattern","sql-server"],"created_at":"2024-12-04T02:07:53.140Z","updated_at":"2026-05-04T06:32:54.777Z","avatar_url":"https://github.com/Mo3ses.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🩸 BloodBank - Web API\n\nBem-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.\n\n---\n\n## 🚀 **Funcionalidades**\n\n- 📝 **Cadastro e consulta de doadores** com dados armazenados diretamente no SQL Server.\n- 🎯 **Migrations automáticas** usando o estilo **Code First**, garantindo flexibilidade para evoluir o esquema do banco de dados.\n- 📦 **Result Pattern** implementado para padronizar as respostas da API.\n\n---\n\n## 🛠️ **Tecnologias Utilizadas**\n\n- **ASP.NET Core (.NET 8)**: Para criação da API.\n- **Entity Framework Core**: Para mapeamento objeto-relacional (ORM) e migrações.\n- **SQL Server**: Banco de dados utilizado no projeto.\n- **FluentValidation** (planejado): Para validações consistentes.\n- **Clean Architecture**: Organização das camadas para melhor manutenção e escalabilidade.\n- **Padrões de Projeto**: Result Pattern, com outros padrões planejados como Unit of Work e CQRS.\n\n---\n\n## 📂 **Estrutura do Projeto**\n\nO projeto segue os princípios da **Clean Architecture**, com as seguintes camadas:\n\n1. **Domain**: Contém as regras de negócio e entidades principais.\n2. **Application**: Camada de lógica de aplicação, incluindo DTOs e validações (com FluentValidation planejado).\n3. **Infrastructure**: Implementação de acesso a dados com o Entity Framework Core.\n4. **API**: A interface pública para consumidores da aplicação.\n\n---\n\n## 🚀 **Como Rodar o Projeto**\n\n### Pré-requisitos\n\n- **.NET SDK 8** instalado.\n- **SQL Server** configurado.\n- Ferramenta como **Postman** ou **Swagger** para testar a API.\n\n### Passos\n\n1. **Clone o repositório**:\n\n   ```bash\n   git clone https://github.com/seu-usuario/bloodbank.git\n   cd bloodbank\n   ```\n\n2. **Configure o banco de dados**:\n   Edite o arquivo `appsettings.json` com sua string de conexão:\n\n   ```json\n   \"ConnectionStrings\": {\n       \"BloodBankCs\": \"Server=.;Database=BloodBank;Trusted_Connection=True;MultipleActiveResultSets=true\"\n   }\n   ```\n\n3. **Aplique as migrations**:\n\n   ```bash\n   dotnet ef database update\n   ```\n\n4. **Execute a aplicação**:\n\n   ```bash\n   dotnet run\n   ```\n\n5. **Acesse a API**:\n   - Use o **Swagger UI** em: `http://localhost:{porta}/swagger`\n   - Ou teste via Postman.\n\n---\n\n## 🧩 **Próximos Passos**\n\n- [ ] Implementar validações com **FluentValidation**.\n- [ ] Adicionar suporte ao padrão **Unit of Work**.\n- [ ] Implementar **CQRS** para separar consultas e comandos.\n- [ ] Criar **testes unitários** para aumentar a confiabilidade do código.\n- [ ] Melhorar autenticação com **JWT**.\n\n---\n\n## 🤝 **Contribuição**\n\nContribuiçõ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_.\n\n---\n\n## 📝 **Licença**\n\nEste projeto está licenciado sob a **MIT License**. Veja o arquivo [LICENSE](LICENSE) para mais detalhes.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmo3ses%2Fbloodbank","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmo3ses%2Fbloodbank","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmo3ses%2Fbloodbank/lists"}