Blood Donor Finder is a mobile application that bridges the critical gap between blood donors and recipients. In emergency situations, finding the right blood group quickly can be the difference between life and death. This app enables anyone to find verified blood donors nearby by blood group and city, and also lets willing donors register themselves to help others.
Built as a Third Year Mobile Application Lab Project at Poornima Institute of Engineering & Technology, Jaipur (Academic Year 2025β26).
| Feature | Description |
|---|---|
| π Smart Search | Search donors by blood group (A+, Aβ, B+, Bβ, O+, Oβ, AB+, ABβ) |
| ποΈ City Filter | Filter donors by city for nearby results |
| π Donor Profiles | View donor details β name, age, blood group, city |
| π One-Tap Call | Call a donor directly from the app |
| π¬ WhatsApp Message | Message donors via WhatsApp instantly |
| βοΈ Donor Registration | Register as a donor with name, age, phone, city & blood group |
| β Availability Status | Donors can mark themselves as available to donate |
| π₯ Firebase Backend | Real-time data sync powered by Firebase Firestore |
| π Donor Stats | See total donors, cities listed, and available donors |
| Splash Screen | Donor List | Donor Detail | Contact |
|---|---|---|---|
| App launches with branding | Browse & filter donors | Full donor info | Call or WhatsApp |
Screenshots show the live app with real donor data from Jaipur.
App Opens
β
βββ PATH 1: Find a Donor
β βββ Home Screen (select blood group + city)
β βββ Apply Filters
β βββ Donor List Screen
β βββ Select Donor
β βββ Donor Detail Screen
β βββ π Call Button
β βββ π¬ WhatsApp Button
β
βββ PATH 2: Register as Donor
βββ Register Form Screen (Name, Age, Phone, City, Blood Group)
βββ Submit β Validation
βββ Invalid Data β Re-enter
βββ Valid Data β Save to Firebase β β
Success
- Frontend: Flutter (Dart)
- Backend / Database: Firebase Firestore
- Authentication: Firebase Auth
- Communication: Android Intent API (Call & WhatsApp)
- Platform: Android
- Flutter SDK (β₯ 3.0)
- Android Studio / VS Code
- A Firebase project with Firestore enabled
# 1. Clone the repository
git clone https://github.com/Arpitgarg07/BloodDonorApp.git
# 2. Navigate to project directory
cd BloodDonorApp
# 3. Install dependencies
flutter pub get
# 4. Connect your Firebase project
# Add your google-services.json in android/app/
# 5. Run the app
flutter run- Go to Firebase Console
- Create a new project
- Enable Cloud Firestore in your project
- Download
google-services.jsonand place it insideandroid/app/ - Set Firestore rules to allow read/write during development:
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if true;
}
}
}
β οΈ Update rules before production deployment.
BloodDonorApp/
βββ lib/
β βββ main.dart # Entry point
β βββ screens/
β β βββ home_screen.dart # Donor search & filter
β β βββ donor_list_screen.dart # List of matching donors
β β βββ donor_detail_screen.dart # Donor profile & contact
β β βββ register_screen.dart # Donor registration form
β βββ models/
β β βββ donor.dart # Donor data model
β βββ services/
β βββ firebase_service.dart # Firestore operations
βββ android/
β βββ app/
β βββ google-services.json # Firebase config
βββ pubspec.yaml
Each donor document in Firestore has the following structure:
{
"name": "Arpit Garg",
"age": 19,
"phone": "8377181470",
"city": "Jaipur",
"bloodGroup": "B+",
"availableToDonate": true
}- Donor registration with Firebase
- Search & filter by blood group and city
- Call & WhatsApp integration
- Donor availability toggle
- Push notifications for urgent blood requests
- Location-based donor discovery (GPS)
- Donor history & donation tracking
- iOS support
Arpit Garg
- π PIET23CS025 β Department of Computer Engineering
- π« Poornima Institute of Engineering & Technology, Jaipur
Made with β€οΈ and π©Έ in Jaipur, Rajasthan