Skip to content
 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🩸 BloodLink 🩸

Connecting lives through smart blood bank management.

Terminal Animation

Divider

🎯 Problem & Inspiration

Every 2 seconds, someone needs blood, yet 38% of blood requests go unfulfilled due to poor inventory management and lack of coordination between blood banks, donors, and hospitals. Traditional systems are fragmented, slow, and inefficient.

BloodLink bridges this gap by creating a unified, intelligent ecosystem that connects donors, blood banks, hospitals, and recipients in real-time — ensuring no life is lost due to blood unavailability.

BloodLink Landing Page

🧠 What It Does

🩺

Smart Inventory Management

Real-time blood stock tracking across all blood groups

🤝

Donor Management

Complete registration and tracking system

🏥

Hospital Network

Seamless coordination between blood banks and hospitals

📱

Emergency Requests

Instant alerts for urgent blood requirements

📊

Analytics Dashboard

Insights on donations, inventory, and trends

🎪

Blood Donation Camps

Organize and manage donation drives

💬

Real-Time Chat

Communication between admin and hospitals

🔔

Smart Notifications

Automated alerts for expiry, low stock & matches

🔐

Multi-Role Access

Secure role-based authentication for all users

🗺️

ABDM Network Integration

Access nearby blood bank facilities

⚙️ Tech Stack

Frontend

⚛️ React 18 • 🎨 Tailwind CSS • 🧭 React Router • 🔄 Context API • 📡 Axios
🌍 i18next • 📱 PWA Support • 🎯 Responsive Design

Backend

🟢 Node.js • 🚂 Express.js • 🍃 MongoDB • 🔒 JWT Authentication
🛂 Passport.js • 🔐 bcryptjs • ⚡ RESTful APIs

Features & Integrations

📊 Real-Time Analytics • 💾 Session Management • 🔔 Push Notifications
🗺️ City-Based Filtering • 📦 Inventory Automation • 🎪 Camp Management

🎓 Target Users

  • 🏥 Blood Bank Administrators – Comprehensive management of inventory, donors, recipients, and hospital network
  • 🩸 Hospital Managers – Submit blood requests, track inventory, and communicate with blood banks
  • 👨‍⚕️ Healthcare Staff – Recording donations, managing camps, and processing requests
  • 🚨 Emergency Services – Instant access to blood availability during critical situations
  • 📊 Healthcare Analysts – Access to analytics and reporting for data-driven decisions

🏗️ How We Built It

BloodLink is architected as a comprehensive full-stack solution:

Architecture

  • 🎨 React Frontend: Component-based UI with reusable elements
  • Express Backend: RESTful API with modular controllers
  • 🗄️ MongoDB Database: Flexible NoSQL for complex relationships
  • 🔐 JWT Auth: Secure token-based authentication
  • 🎭 Role-Based Access: Manager, Staff, Hospital, Donor roles

Key Features

  • Smart Matching: Auto-match blood requests with inventory
  • Expiry Management: Automated tracking and alerts
  • Real-Time Updates: Live inventory synchronization
  • Data Validation: Comprehensive input validation
  • Error Handling: Graceful error management
  • Scalable Design: Microservices-ready architecture

✨ Core Features

🩺 Blood Inventory Management

  • Real-time tracking of blood units across all groups (A+, A-, B+, B-, AB+, AB-, O+, O-)
  • Status management (Available, Reserved, Used, Contaminated)
  • Automated expiry date monitoring
  • Low stock alerts and notifications
  • QR code generation for blood specimens

🤝 Donor Management

  • Complete donor registration with validation
  • Donation history tracking
  • Eligibility checks (age, health status)
  • Automated notifications for eligible donors
  • Comprehensive donor database

🏥 Hospital Network

  • Hospital registration and authentication
  • Real-time inventory access
  • Blood request submission
  • Request approval workflow
  • Hospital-specific inventory tracking

📊 Analytics & Reporting

  • Dashboard with key metrics
  • Blood group distribution charts
  • Donation trends analysis
  • Monthly/yearly statistics
  • Export reports (PDF/Excel)

🎪 Blood Donation Camps

  • Camp creation and management
  • Volunteer coordination
  • Location mapping
  • Registration tracking
  • Success metrics

Emergency Requests

  • Priority request handling
  • Instant notifications to donors
  • Multi-hospital coordination
  • Real-time status tracking
  • Emergency contact alerts

💬 Communication Hub

  • In-app chat system
  • Hospital-admin messaging
  • Broadcast notifications
  • Request status updates
  • Real-time communication

Divider

📂 Project Structure

BloodLink/
├── 📱 blood-bank-app/              # React Frontend
│   ├── src/
│   │   ├── components/            # Reusable UI components
│   │   ├── pages/                 # Page components
│   │   ├── context/               # React Context for state
│   │   ├── services/              # API services
│   │   └── data/                  # Mock data & constants
│   └── public/                    # Static assets
│
├── 🔧 blood-bank-backend/         # Node.js API
│   ├── controllers/               # Business logic
│   ├── models/                    # MongoDB schemas
│   ├── routes/                    # API endpoints
│   ├── middleware/                # Auth & validation
│   └── config/                    # Database & Passport
│
└── 🐍 blood-stock-finder/         # Python utility
    └── blood_stock_finder.py      # Stock finder script

🚀 Quick Start Guide

Prerequisites

Node.js v14+
MongoDB (local or Atlas)
npm or yarn

1️⃣ Clone the Repository

git clone <your-repo-url>
cd Healthtech-mobile-app

2️⃣ Backend Setup

cd blood-bank-backend
npm install

# Configure .env file
PORT=5000
MONGODB_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret_key
JWT_EXPIRE=7d

# Start the server
npm start
# Server runs on http://localhost:5000

3️⃣ Frontend Setup

cd blood-bank-app
npm install --legacy-peer-deps

# Start the React app
npm start
# App runs on http://localhost:3000

4️⃣ Seed Database (Optional)

cd blood-bank-backend
node seedIndianData.js
node seedHospitalCredentials.js

📸 Demo Screenshots

📊 Dashboard 🩸 Blood Inventory
Dashboard Inventory
🤝 Donor Management 🏥 Hospital Network
Donors Hospitals

📽️ Demo Video & Resources

📱 Live Deployment

📚 Documentation

Divider

🗺️ Roadmap

  • Phase 1: Core blood bank management system
  • Phase 2: Hospital network integration
  • Phase 3: Donor rewards & gamification
  • 🔄 Phase 4: Mobile app development (React Native)
  • 🔄 Phase 5: AI-powered demand forecasting
  • 📅 Phase 6: Blockchain for donation tracking
  • 📅 Phase 7: Integration with national blood banks
  • 📅 Phase 8: IoT integration for refrigeration monitoring

🧠 What We Learned

  • 🏗️ System Architecture: Designing scalable full-stack applications with clear separation of concerns
  • 🔐 Security: Implementing robust JWT authentication with role-based access control
  • 📊 Data Modeling: Creating complex MongoDB schemas with relationships and validations
  • Performance: Optimizing database queries with indexing and efficient data structures
  • 🎨 UX Design: Building intuitive interfaces for diverse user groups (donors, staff, hospitals)
  • 🔄 State Management: Managing complex application state with React Context API
  • 📱 Responsive Design: Creating mobile-first interfaces with Tailwind CSS
  • 🌍 Internationalization: Implementing multi-language support for broader accessibility

🧩 Challenges Faced

  • ⚠️ Complex Relationships: Managing multiple interconnected entities (donors, specimens, hospitals, requests)
  • 🔍 Real-Time Sync: Ensuring inventory updates propagate instantly across all connected hospitals
  • 💾 Data Integrity: Maintaining consistency between blood specimens, donations, and requests
  • 🧠 Role Management: Implementing granular permissions for different user types
  • Expiry Tracking: Automated monitoring and alerts for perishable blood units
  • 📊 Scalability: Designing the system to handle thousands of concurrent users
  • 🌐 Deployment: Managing separate frontend and backend deployments with CORS
  • 🔄 State Synchronization: Keeping frontend state in sync with backend database

Divider

👥 Team ProtoMinds

🧑‍💻 Deep Mehta

Full Stack Developer

LinkedIn

🧑‍💻 Harsh Patil

Full Stack Developer

LinkedIn

🧑‍💻 Abhishek Chaudhari

Full Stack Developer

LinkedIn

🧑‍💻 Nachiket Kale

Team Leader

LinkedIn

🔗 Project Links

Divider

📊 Project Statistics

Feature Status Count
📁 Models ✅ Complete 15+
🛣️ API Routes ✅ Complete 50+
⚛️ React Components ✅ Complete 30+
📄 Pages ✅ Complete 20+
🔐 Auth Strategies ✅ Complete 2
👥 User Roles ✅ Complete 4
🩸 Blood Groups ✅ Supported 8

🌟 Impact & Vision

Current Impact

  • 💉 Streamlined blood donation process
  • 🏥 Improved hospital-blood bank coordination
  • 📊 Better inventory management and wastage reduction
  • 🤝 Enhanced donor engagement and retention

Future Vision

  • 🌍 National Integration: Connect blood banks across the country
  • 🤖 AI Predictions: Forecast blood demand using ML algorithms
  • 🔗 Blockchain: Transparent and immutable donation records
  • 📱 Mobile App: Native iOS and Android applications
  • 🌐 Global Reach: Expand to international markets
  • 🏆 Social Impact: Save 100,000+ lives annually

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.


🙏 Acknowledgments

  • Thanks to all blood donors who save lives every day
  • Healthcare professionals for their invaluable feedback
  • Open source community for amazing tools and libraries
  • Our mentors for guidance throughout development

🩸 "Every drop counts. Every life matters. BloodLink connects them all."

Built with ❤️ by Team ProtoMinds
Made with passion to save lives

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages