RaktSetu — Hyperlocal Blood Donor Emergency App | Flutter + Django Final Year Project with Source Code

RaktSetu — Hyperlocal Blood Donor Emergency App | Flutter + Django Final Year Project with Source Code

A blood emergency app that finds the nearest matching donor in seconds — Flutter app, Django + Celery backend, real geo-matching. Full source code and report included.

Technology Used

Flutter 3 | Django 4.2 + DRF | Celery + Redis | Firebase Cloud Messaging | PostgreSQL | Riverpod

codeAj
codeAjVerified
🏆5K+ Projects Sold
Google Review
4991999

Get complete project source code + Installation guide + chat support

Project Files

Get Project Files

What This Project Actually Does

Someone's family member needs O-negative blood at 2 AM at a hospital in Jayanagar. They open RaktSetu, file a request with the blood group, the hospital location, and how urgent it is. That's it. The backend takes over from there — it runs a Haversine distance calculation against every registered donor, filters out the ones who aren't blood-group compatible, aren't verified, aren't marked available, or donated less than 90 days ago, sorts whoever survives that filter by distance, and fires a push notification to the closest ones first.

The donor gets a notification on their phone. They tap Accept right there. Request status moves from Open to Partially Fulfilled to Fulfilled.

And if nobody responds? A background job widens the search ring — 15 km, then 30, then 50 — on a timer that scales with urgency. Critical requests expire after 6 hours, Urgent after 24, Scheduled after 72. A Celery Beat job sweeps the dead ones out every 5 minutes so the donor feed never fills up with requests from last Tuesday.

Key Features

  • Geo-matching that actually calculates distance. Haversine formula in core/matching.py, not a fake "nearby donors" list sorted by ID. You can literally change a donor's lat/long in the admin and watch the match order flip.
  • Blood group compatibility logic. O-negative matches everyone. AB-positive receives from everyone. The compatibility matrix is coded in, so a request for A+ pulls A+, A-, O+ and O- donors — not just exact matches.
  • 90-day eligibility tracking. A donor who donated 40 days ago is invisible to the matcher. Automatically. The countdown shows on their profile screen.
  • Async notification pipeline. Celery + Redis handle the matching and the Firebase Cloud Messaging dispatch, so the requester's POST returns in milliseconds instead of blocking while the server pings 200 donors.
  • Phone OTP login with JWT. No email, no password. Enter number, get OTP, you're in — which is how every Indian app works, and your examiner will notice you got that right.
  • Expanding search radius. widen_search_task re-runs the match at the next radius ring if the wait window passes with no accepts.
  • Fraud guards and throttling. Request rate limits, verified-donor gating, so one person can't spam 50 fake emergencies.
  • Accessibility built into the design system. Urgency and status are never shown as colour alone — always colour plus icon plus text. Small thing. Says a lot in a viva when you explain why.
  • Seeded demo data. python manage.py seed_data gives you donors spread across a city with different blood groups and donation dates, so the matching demo works two minutes after setup.

Real-World Applications

This isn't a made-up problem. Blood banks in India run on WhatsApp forwards and Facebook groups — someone posts "urgent B+ needed at St. John's", it gets shared 400 times, and the six people who could actually help never see it because they're not in that group.

Hospital blood banks could run this to maintain a standby donor pool. NGOs and college NSS units already keep donor registers in Excel sheets; this replaces that. Thalassemia support groups need recurring donors on a schedule, and the 90-day eligibility tracker is exactly the thing they track by hand right now. Corporate CSR blood drives, district-level Red Cross chapters, even a single large hospital covering a 30 km catchment — all of it maps onto what this thing does.

Who Should Buy This

Look — if you're a BCA or MCA student with a submission in three weeks and you need something that isn't the fifteenth "Student Management System" your guide has seen this semester, this is a good pick. Social impact angle, real algorithm inside, two-part architecture. Guides like all three of those things.

It's also right for BTech CSE students who need a major project with genuine backend depth. Celery task queues, Redis, push notification pipelines, geospatial matching — this is the stuff that comes up in interviews, not just in vivas.

Honest bit: if you've never touched Flutter or Django before and your submission is in four days, this will be tight. Doable with our setup session, but tight. If you have two weeks and you're willing to actually read the code, you'll be fine.

The one genuinely hard part

Firebase. The backend push pipeline is complete — it builds the payload, logs every dispatch to NotificationLog, handles retries. In dev mode it prints pushes to your console instead of sending them, which means the entire flow works and demos perfectly with zero Firebase account. But to make a real notification land on a real phone, you need your own Firebase project and a google-services.json. Same story for Google Maps — the app has google_maps_flutter wired into the Android manifest, the iOS AppDelegate and the web index, with an empty key slot waiting for your Google Cloud key. Location capture via geolocator works without any key at all.

Both are free to set up. Both take about twenty minutes. Both are covered in the setup session if you'd rather not fight with the Firebase console at midnight.

The part that's easier than it looks

Dev mode. SMS and FCM both run on console backends locally, and the OTP endpoint returns debug_otp straight in the response body. So the entire login flow — enter number, receive OTP, verify, get JWT — works on your laptop with no Twilio account, no SMS credits, no Firebase. Most students expect to lose a whole day on auth. You'll lose about ten minutes.

Why CodeAj

You get the complete monorepo — backend/ and raktsetu_app/, each with its own README covering setup commands, the full API endpoint table, and deploy notes. There are systemd units and an nginx config in backend/deploy/ from an actual VPS deployment, not templates someone copied off a blog. The college-format project report comes with it: abstract, literature survey, system design, ER and data flow diagrams, testing, the whole structure your department wants. If something breaks during setup, we get on a call and fix it — that's what the project setup service is for. Browse the rest of our Flutter final year projects with source code or the Django project collection if you want to compare before deciding.

Frequently Asked Questions

You will get the complete source code along with an installation guide and chat support to help you set up and understand the project.
All our projects are thoroughly tested multiple times, so the code is completely error-free. But in case you still face any issue, you can reach out to us on WhatsApp (+91 8603862290) and we will fix it and provide you the updated code.
You can book a 1-on-1 Setup & Explanation Session where we connect via AnyDesk and Google Meet, set up the project on your laptop, and explain the complete code working and flow.
No, you cannot re-sell the project. This is completely illegal and a violation of our terms. If we find any such activity, we will take legal action.
Yeah, the whole monorepo. Every Dart file in raktsetu_app, every Python file in backend, the migrations, the Celery tasks, even the systemd and nginx configs in the deploy folder. Nothing stripped out, nothing obfuscated.
Not for local development. SMS and FCM run on console backends in dev mode, so pushes and OTPs print to your terminal instead of going out. The OTP endpoint even returns debug_otp right in the response, which means the login flow works on your laptop from minute one. You only need a real Firebase project when you want a notification landing on an actual phone.
Yes. flutter run -d chrome opens it in the browser and that's how most of the UI was verified during the build. For your demo in front of the examiner, Chrome is honestly fine — nobody's going to insist on a physical device.
Included, in the format your department wants. Abstract, introduction, literature survey, system requirements, system design with ER and DFD diagrams, module breakdown, testing, conclusion, references. You'll still need to swap in your college name, your name and roll number. Please don't forget that part.
Unlikely. There's an actual distance algorithm running, an async task queue with Redis behind it, a blood group compatibility matrix, and a retry mechanism that widens the search radius. That's more going on than a standard CRUD submission. Be ready to explain the Haversine formula though — if your guide opens the code, that's the first thing they'll point at.
Backend's up in about ten minutes. Flutter takes longer the first time, mostly because the SDK download and the Android toolchain setup are slow, not because of anything in this project. Budget one evening. If you're stuck at 1 AM, the setup session exists for exactly that.
Sure, students do this. The matching logic lives in one place, so replacing the blood group check with something else is a contained edit. Rename the models, adjust the matcher, change the theme colours in lib/core/theme. Message us before buying and we'll tell you exactly which files you'd be touching.
A blood bank management system is inventory software — units in, units out, admin adds a record. This is the emergency side of the problem. It's location-aware, it's a mobile app, and it pushes to donors instead of waiting for someone to check a website. Different problem entirely, and a much more interesting one to defend in a viva.
Installation Guide

Extra Add-Ons Available – Elevate Your Project

Add any of these professional upgrades to save time and impress your evaluators.

Project Setup

We'll install and configure the project on your PC via remote session (Google Meet, Zoom, or AnyDesk).

Source Code Explanation

1-hour live session to explain logic, flow, database design, and key features.

Want to know exactly how the setup works? Review our detailed step-by-step process before scheduling your session.

999

Custom Documents (College-Tailored)

  • Custom Project Report: ₹1,500
  • Custom Research Paper: ₹1,000
  • Custom PPT: ₹800

Fully customized to match your college format, guidelines, and submission standards.

Project Modification

Need feature changes, UI updates, or new features added?

Charges vary based on complexity.

We'll review your request and provide a clear quote before starting work.

Project Files

GoogleReviews

What Our Students Say

4.9(38+ reviews)
Google review 1
Google review 2
Google review 3
Google review 4
Google review 5
Google review 6
Google review 7
Google review 8
Google review 9
Google review 10
Google review 11
Google review 12
Google review 13
Google review 14
Google review 15
Google review 16
Google review 17
Google review 18
Google review 19
Google review 20
Google review 21
Google review 22
Google review 23
Google review 24
Google review 25
Google review 26
Google review 27
Google review 28
Google review 29
Google review 30
Google review 31
Google review 32
Google review 33
Google review 34
Google review 35
Google review 36
Google review 37
Google review 38
⭐ 98% SUCCESS RATE
  • Full Development
  • Documentation
  • Presentation Prep
  • 24/7 Support
Chat with us