Back to PinboardPinboard archive / Engineering case study

Investigation file / BLOOD-BANK-MOBILE

Blood Bank Mobile App

A Flutter donor experience connected to a .NET API and the wider blood-bank platform.

Project type
University team project / mobile and API
Working context
I built this with my university team as part of the wider Blood Bank platform.
My role
I implemented most of the wider platform as part of the team; responsibility was shared across modules.
  • Flutter
  • Dart
  • ASP.NET Core 6
  • REST
  • Provider
  • SQL Server
Blood Bank donor mobile home
Exhibit A / donor account overview
01

Pinboard archive / Engineering case study

Context

The donor-facing half of the university Blood Bank platform, designed to connect appointments and donation history with staff operations.

Working context
I built this with my university team as part of the wider Blood Bank platform.
My role
I implemented most of the wider platform as part of the team; responsibility was shared across modules.
Who was affected
Blood donors using a mobile device and staff processing their appointments.
02

Problem brief

Problem

Donors need mobile access to registration, appointments, history, and updates that remains connected to staff operations.

Operating constraints

  1. 01Mobile, API, desktop, and SQL Server state must describe the same appointment workflow.
  2. 02Authentication and donor medical details cross a network boundary.
03

Evidence / reasoning

Problem Research

01

End-to-end appointment state

I traced a booking from the donor's phone to staff-visible work, donation processing, history, and the final donor update.

02

Mobile service boundary

I separated screen state, Provider responsibilities, REST services, and persistence concerns before mapping the mobile flows.

04

Implementation files

How I Solved It

F-01

Donor account

I connected registration, login, profile, blood details, and donation history in the donor account experience.

F-02

Appointment workflow

I built a scheduling flow for selecting a date, time, and location and receiving a confirmation state.

F-03

Notifications

I included appointment, request, and system notification states in the interface.

05

System map

System Architecture

Flutter screens and Provider state call an ASP.NET Core 6 REST API connected to the shared SQL Server domain used by staff operations.
01

Flutter app

Screens, Provider, services

02

ASP.NET API

Controllers and services

03

SQL Server

Shared operational data

04

Staff desktop

Appointment processing

06

Diagnostic notes

Challenges

Issue 01

Cross-application consistency

A donor action must become coherent work in a separate desktop application.

Issue 02

Network authentication state

Login, profile, and protected donor data must remain coherent when requests fail or sessions expire.

Issue 03

Growing mobile state

Accounts, appointments, history, and notifications can couple screens directly to transport code.

07

Quality gates

Technical Safeguards

API security

I used JWT authentication, CORS policy, Swagger contracts, and structured error handling at the API boundary.

Maintainability

I assigned explicit Flutter responsibilities to models, providers, routes, screens, services, utilities, and widgets.

08

Ownership record

My Contribution

MY VERIFIED SCOPE

I implemented most of the wider team platform while sharing responsibility across the mobile, API, desktop, and database modules.

Working context
I built this with my university team as part of the wider Blood Bank platform.
My role
I implemented most of the wider platform as part of the team; responsibility was shared across modules.
09

Closing record

Outcome

What was delivered

Our platform includes a donor-facing Flutter application, ASP.NET Core API, shared database, and an appointment-to-donation workflow connected to staff operations.

Published evidence

Our project includes the Flutter application, ASP.NET Core API, shared database setup, Swagger access, and end-to-end appointment workflow.

Honest boundary

I present the mobile, API, and desktop integration as shared team work; automated cross-client appointment tests are the next technical step.

Next consideration

My next technical step is to add automated API and client-state tests for authentication expiry and appointment transitions across both clients.

10

Curated project media

Related Evidence

Blood Bank donor mobile home
Evidence exhibit 01Exhibit A / donor account overview
Blood Bank appointment scheduling
Evidence exhibit 02Exhibit B / appointment entry
Blood Bank mobile notifications
Evidence exhibit 03Exhibit C / donor update states
Blood Bank mobile login
Evidence exhibit 04Exhibit D / donor authentication
Blood Bank donor registration
Evidence exhibit 05Exhibit E / account registration
Blood Bank donor profile
Evidence exhibit 06Exhibit F / donor profile state