Skip to content

O projeto Blood Manager foi realizado com o intuito de melhorar minhas habilidades com a linguagem de programação C# e com todo o seu ecossistema.

Notifications You must be signed in to change notification settings

backjoao88/blood-manager-api-c-sharp

Repository files navigation

BloodManager

O projeto Blood Manager foi realizado com o intuito de melhorar minhas habilidades com a linguagem de programação C# e com todo o seu ecossistema.

Pilha de tecnologias

  • .NET 8.0
  • Entity Framework Core 8.0

Regras de negócio

  • Um doador deve possuir um e-mail único no banco de dados; Menor de idade não pode doar, mas pode ter cadastro;
  • O doador deve pesar no mínimo 50kg;
  • Mulheres só podem doar de 90 em 90 dias;
  • Homens só podem doar de 60 em 60 dias;
  • A quantidade de ML de sangue doados deve ser entre 420 e 470 ML;
  • Não deve permitir cadastro de mais de um tipo de sangue (tipo sanguineo + fator rh);
  • Deve atualizar o estoque de sangue ao realizar doação;
  • No cadastro de endereço deve ser possível consultar diretamente pelo CEP via API externa; Dessa forma, caso seja informado o CEP, as informações de cidade, estado e endereço não precisam ser preenchidas.
  • Avisar quando o estoque atingir a quantidade mínima definida;
  • Deve ser possível consultar o histórico de doações de um doador;
  • Deve gerar um relatório sobre a quantidade total de sangue por tipo disponível;
  • Deve gerar um relatório de doações nos últimos 30 dias com informações de doadores

Tecnologias e conceitos aplicados

  • Aplicar documentação com o Swagger
  • Aplicar um banco de dados de verdade (não em memória)
  • Aplicar a separação de serviços de leitura e escrita (CQRS) com padrão Mediator (Creates e Updates)
  • Aplicar validação com FluentValidation (Creates e Updates)
  • Estudar e aplicar o objeto de resultados para camada de domínio (result-pattern)
  • Aplicar um middleware para tratamento de exceções globais
  • Estudar e aplicar eventos de domínio
  • Aplicar testes unitários

Linkedin

  • Realizar publicação

About

O projeto Blood Manager foi realizado com o intuito de melhorar minhas habilidades com a linguagem de programação C# e com todo o seu ecossistema.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages