Skip to content

Arpitgarg07/BloodDonorApp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

6 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Visitor Count


🩸 Blood Donor Finder

Connecting donors to those in need β€” fast, free, and life-saving.

πŸ“± Download App β€’ ⭐ Star this Repo


πŸ“– About

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).


✨ Features

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

πŸ“± Screenshots

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.


πŸ—ΊοΈ User Flow

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

πŸ› οΈ Tech Stack

  • Frontend: Flutter (Dart)
  • Backend / Database: Firebase Firestore
  • Authentication: Firebase Auth
  • Communication: Android Intent API (Call & WhatsApp)
  • Platform: Android

πŸš€ Getting Started

Prerequisites

  • Flutter SDK (β‰₯ 3.0)
  • Android Studio / VS Code
  • A Firebase project with Firestore enabled

Installation

# 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

πŸ”₯ Firebase Setup

  1. Go to Firebase Console
  2. Create a new project
  3. Enable Cloud Firestore in your project
  4. Download google-services.json and place it inside android/app/
  5. 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.


πŸ“‚ Project Structure

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

🧩 Data Model

Each donor document in Firestore has the following structure:

{
  "name": "Arpit Garg",
  "age": 19,
  "phone": "8377181470",
  "city": "Jaipur",
  "bloodGroup": "B+",
  "availableToDonate": true
}

πŸ—ΊοΈ Roadmap

  • 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

πŸ‘¨β€πŸ’» Author

Arpit Garg

  • πŸŽ“ PIET23CS025 β€” Department of Computer Engineering
  • 🏫 Poornima Institute of Engineering & Technology, Jaipur

πŸ“„ License

License: MIT


Made with ❀️ and 🩸 in Jaipur, Rajasthan

About

🩸 A Flutter app to find blood donors by blood group & city. Register as a donor, call or WhatsApp donors instantly. Powered by Firebase Firestore.

https://i.apponthego.com/a78b0

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages