Donate+ — Blood Donation Network
Overview
An Android app that connects blood donors with recipients. Users post requests, get responses, view nearby hospitals/blood banks, and navigate with Google Maps/Places—all backed by Firebase authentication and realtime data.
Repo: github.com/faiazamin/Donate_plus
Why?
Finding a matching donor quickly is often blocked by fragmented communication and poor location coordination. Donate+ compresses the search: one request fans out to verified responders and surfaces map-ready locations so seekers can act fast.
Problem
- Hard to match blood group + proximity without a dedicated network.
- Donor intent drops when requests lack clear status/feedback loops.
- Seeker workflows are clumsy: collecting info, calling hospitals, and sharing locations happen across different apps.
Approach
- Request lifecycle: Seekers post with blood group, required date, contact, and pinned map location; responders reply and are tracked in a dedicated list.
- Contextual UI: News Feed highlights urgent cases; detailed views show maps, contact chips, and response status.
- Feedback + accountability: Seekers can mark responders as called/enlisted, add notes, and review responses.
- Location layer: Map picker, GPS shortcuts, and map view for any post, hospital, or blood bank.
- Notifications stream filtered by the user’s blood group to keep signals relevant.
Key Features
- Email/password sign-up, login, verification, and password reset.
- Profile management with blood group, contact details, and last donation date.
- News Feed of blood requests with urgency highlighting and detailed drill-down.
- Create/track requests; manage My Posts and My Responses dashboards.
- Respond to requests and appear in the seeker’s notification/responder list.
- Hospital & Blood Bank directory with tap-to-call and map view.
- Map support for address picking or viewing a post’s location.
- Settings screen with profile updates and logout.
Tech Stack
- Android (Java), minSdk 19, targetSdk 28.
- Firebase: Auth, Realtime Database, Analytics.
- Google Play Services: Maps, Places, Location.
- UI: AndroidX AppCompat/ConstraintLayout/Material Components, RecyclerView.
My Contributions
- Defined the end-to-end donor/recipient flow and response tracking model.
- Built Firebase-backed auth, profile management, and news feed/posting features.
- Integrated Google Maps/Places for request locations and hospital directory.
- Shipped dashboards (My Posts/My Responses), blood-group-filtered notifications, and responder status updates.
- Produced release builds and setup guidance (google-services, map keys, Gradle tasks).
Setup & Run
- Add
google-services.jsonunderapp/and supply a Maps/Places API key inapp/src/main/res/values/map_key.xml. - Build with
./gradlew clean assembleDebug; install the APK fromapp/build/outputs/apk/debug/. - Requires Android 28 platform tools, JDK 8+, and location permissions on device/emulator.
Impact
- Creates a single workflow for urgent blood requests with location-aware responses.
- Improves responder accountability via enlist/called notes and seeker notifications.
- Delivers a ready-to-install APK (
app/release/app-release.apk) for rapid pilot use.