🩸 Blood Bank Android Application
A modern, feature-rich Android application designed to connect blood donors and recipients seamlessly.
Built using Kotlin , MVVM , Room , Firebase , Google Maps SDK , and Material Design 3 , the app ensures real-time updates, donor discovery, request tracking, and cloud synchronization.
📸 Application Screenshots
🔥 Key Screens (Top UI Showcase)
Login
Registration
Dashboard
UI Interface
Find Donors
Add Donors
Request Donors
Request Filters
📂 Full Feature Screenshots Gallery
AI Bot
AI Chat Bot
ML Model
App Start Symbol
Firebase Cloud Messaging
Firebase Project Details
Firebase Users
Firebase Users Sign-In
Map Integration
Request Screen
Notifications
UI UX Layer
Blood Bank App is an end-to-end Android solution for simplifying blood donation.
It enables users to:
Find donors based on blood group & location
Send blood requests
Get real-time notifications
Track donation centers
Communicate using multimedia
Backup & sync user data in the cloud
The app follows modern Android development practices, ensuring a clean architecture, scalability, and excellent user experience.
👉 User Authentication (Firebase)
👉 Donor Search by blood type & location
👉 Blood Request creation & management
👉 Google Maps integrated donation centers
👉 User profiles & donation history
👉 Real-time notifications
👉 Offline support enabled
👉 Multimedia support: Photos/Videos/Voice Notes
👉 Push Notifications (Firebase FCM)
👉 Interactive Google Maps integration
👉 Blood donation news feed (NewsAPI)
👉 Dark Mode
👉 Multi-language Support
👉 Cloud Sync & Backup
👉 CameraX + ExoPlayer support
👉 Language: Kotlin
👉 Architecture: MVVM + Clean Architecture
👉 Minimum SDK: 24
👉 Target SDK: 34
👉 Dependency Injection: Hilt
👉 Async Processing: Coroutines + Flow
👉 Local Database: Room (SQLite)
👉 Backend: Firebase (Auth, Firestore, Storage, Messaging)
👉 UI: Material Design 3, RecyclerView, ConstraintLayout
👉 Networking: Retrofit, OkHttp, Gson
👉 Image Loading: Glide
👉 Maps: Google Maps SDK
👉 Media: CameraX, ExoPlayer
👉 Background Tasks: WorkManager
👉 Navigation: Android Jetpack Navigation
👉 Testing: JUnit, Espresso, MockK
Android Studio Flamingo (2022.2.1) or newer
JDK 11+
Android SDK 34
Google Play Services
git clone https://github.com/Suman7998/blood-bank-android.git
cd blood-bank-android
Open project in Android Studio
Sync Gradle
Add google-services.json in app/
Add Maps API key in res/values/google_maps_api.xml
Run on emulator/device
MAPS_API_KEY=your_api_key_here
NEWS_API_KEY=your_news_api_key_here
The application follows MVVM + Clean Architecture , divided into:
Repositories
Local Data Source (Room)
Remote Data Source (Firebase, APIs)
Use Cases
Repository Interfaces
Activities / Fragments
ViewModels
UI State via StateFlow
Splash
Login
Register
Forgot Password
Dashboard
Donor List / Map View
Request Form
Donation Centers Map
User Profile
Settings
Donation History
Notifications
Blood Compatibility Guide
News Feed
Endpoint
Purpose
/everything?q=blood donation
Latest donation news
/top-headlines?category=health
Health headlines
Nearby blood banks
Donor location routing
Real-time positioning
Email/Password
Phone Number
Google Sign-In
Anonymous Login
users
donors
requests
donation_centers
Blood request alerts
Emergency notifications
Profile photos
Media attachments
INTERNET
ACCESS_FINE_LOCATION
CAMERA
RECORD_AUDIO
READ_EXTERNAL_STORAGE
CALL_PHONE
ViewModel
Repository
Use Cases
UI (Espresso)
Navigation
Local DB Tests (Room)
Encrypted SharedPreferences
HTTPS-only API calls
Firebase security rules
ProGuard/R8 enabled
API key protection
Input validation
Certificate pinning (optional)
Fork repository
Create feature branch
Commit changes
Push to branch
Submit Pull Request
This project is licensed under the MIT License .
See LICENSE for more information.
Material Design Team
Android Jetpack
Firebase
Google Maps
NewsAPI
Open Source Contributors