RedLine — Blood Bank & Emergency Donor Network
A multi-role Flask and MySQL platform connecting donors, hospitals, and recipients through a smart blood-matching engine, with automated eligibility checks and real-time emergency request routing.
Modeling the full donation lifecycle
RedLine models the entire blood-donation lifecycle across four roles — Admin, Donor, Hospital, and Recipient — around a 3NF schema. Indexed compatibility queries return eligible donor matches in under 200ms, and automated eligibility checks remove manual donor screening for every incoming request.
How it's built
Checks blood compatibility, donor cooldown periods, and availability using indexed queries rather than full-table scans, keeping emergency lookups fast.
APScheduler runs background jobs for inventory expiry and donor eligibility, keeping data current without manual admin intervention.
Four distinct role types (Admin, Donor, Hospital, Recipient) each see a purpose-built view, gated server-side rather than hidden client-side.
What I'd do with more time
Add SMS/email alerts for critical requests to speed up emergency response.
Layer in geolocation-based matching to prioritize the nearest eligible donors.