/Blood-Bank-Management

Project: Blood Bank Management System

Primary LanguageC#

Blood Bank Management

Status: Done

Project 2: Blood Bank Management

This project is an ASP.NET Web API designed to manage a blood bank system. It's primary goal is to organize blood donations for the healthcare system.

Requirements

  • .NET 8.0 SDK
  • Visual Studio Code or Visual Studio Community

Technologies

  • C#
  • .NET 8.0
  • SQLite
  • Entity Framework Core
  • Mapster
  • FluentValidation

Design Principles and Patterns

  • Clean Architecture
  • Repository Pattern
  • Result Pattern
  • Adapter Pattern

List of Features

  • Create donors
    • Validate data
    • Retrieve postal code from Brazilian Web Service Via CEP API
  • Register donations
    • Update blood stock when a donation is registered
  • Retrieve donors
    • Access donation history for each donor
  • Reports
    • Obtain a report of the total available amount of blood by type
    • Generate a report of donors' information from the last 30 days

Business rules

  • Prevent creation of a donor with the same email address.
  • Individuals who are under the age of majority (under 18 years old) cannot donate blood, but they can be registered as donors.
  • Donors must weigh at least 50 kilograms.
  • Women are eligible to donate blood every 90 days.
  • Men are eligible to donate blood every 60 days.
  • The amount of blood donated must be within the range of 420ml to 470ml.