logoMeherul Hasan
Back to Projects
Bloodlink
In-progressJavaScriptReactNode.js+7 more

Bloodlink

A comprehensive MERN stack blood donation platform connecting donors with recipients through intelligent matching, real-time communication, and gamified engagement.

Timeline

October 2025 - December 2025 (2 months)

Role

Lead Developer

Team

4 developers

Status
In-progress

Technology Stack

JavaScript
React
Node.js
Express
MongoDB
Vercel
TailwindCss
Shadcn
Motion
SocketIo

Project Overview

Bloodlink emerged from the critical need to bridge the gap between blood donors and recipients in emergency situations. As the lead developer of a four-person team, I spearheaded the development of a comprehensive MERN stack application that revolutionizes how blood donation works in communities.

The platform goes beyond simple donor-recipient matching. It creates an entire ecosystem that encourages regular blood donation through gamification, enables real-time communication between stakeholders, and provides administrators with powerful tools to manage and monitor the entire system. From location-based donor discovery to QR code verification for donation credentials, Bloodlink implements modern web technologies to solve a real-world problem that saves lives.

What started as a college project has evolved into a fully-featured application with WebSocket-enabled real-time messaging, automated eligibility validation, community event management, and comprehensive analytics dashboards. The system intelligently validates donor eligibility using a 90-day cooldown period and provides blood type compatibility checking to ensure safe donations.

Key Features

Core Functionality

  • Smart Donor Matching: Location-based donor discovery system with blood type compatibility filtering
  • Request Management: Complete blood request lifecycle with status tracking (pending, accepted, completed)
  • Real-time Communication: WebSocket-powered messaging system enabling instant communication between donors and recipients
  • Digital Verification: QR code generation and verification system for donation credentials
  • Eligibility Tracking: Automated 90-day donor eligibility validation preventing unsafe donations
  • Donation History: Comprehensive records of all donation activities for accountability

Community Engagement

  • Gamified Leaderboard: Points-based competition system encouraging regular donations
  • Community Events: Blood donation camp organization and management platform
  • Educational Platform: Integrated news and health information content delivery
  • Rating System: User feedback mechanism to ensure quality interactions

Administrative Dashboard

  • User Verification: Account approval and verification workflows
  • Analytics: Real-time statistics and data visualization for system monitoring
  • Content Moderation: Review and management capabilities for user-generated content
  • System Health Monitoring: Performance tracking and health metrics

Technical Implementation

Architecture

Bloodlink is built on the MERN stack (MongoDB, Express, React, Node.js) with a clear separation between frontend and backend services. The backend API runs on Node.js v18+ with Express framework, handling authentication via JWT tokens and password encryption using bcrypt. MongoDB with Mongoose provides flexible data modeling for users, blood requests, donations, and events.

The frontend utilizes React v18+ with modern hooks architecture, React Router for navigation, and Socket.io client for bidirectional real-time communication. Styling is achieved through a combination of Tailwind CSS for utility-first styling, Shadcn UI for pre-built components, and Framer Motion for smooth animations.

Real-time Features

Socket.io integration enables real-time capabilities crucial for emergency blood requests. The WebSocket implementation handles chat messages, push notifications for new requests, and live status updates. This ensures that when someone posts an urgent blood requirement, nearby eligible donors receive instant notifications.

DevOps & Deployment

The project implements Docker containerization with Docker Compose for orchestrating multiple services. A GitHub Actions CI/CD pipeline automates testing and deployment. The application is deployed on Vercel for the frontend and uses Jest with Supertest for comprehensive API testing.

Security Measures

  • JWT-based authentication with secure token management
  • Password hashing using bcrypt
  • Role-based access control (Admin, Donor, Recipient)
  • Input validation and sanitization
  • Secure WebSocket connections

Challenges Faced

1. Git Collaboration with Team Members

As the lead developer working with three team members new to Git, version control became a significant challenge. Merge conflicts were frequent, and team members initially struggled with concepts like branching, pull requests, and resolving conflicts.

2. Real-time Synchronization

Implementing reliable WebSocket connections that maintain state across multiple users proved complex. Handling disconnections, reconnections, and ensuring message delivery in a chat system required careful error handling.

3. Blood Type Compatibility Logic

Creating a robust algorithm for blood compatibility matching that accounts for all possible donor-recipient combinations (A+, A-, B+, B-, AB+, AB-, O+, O-) required thorough research and testing.

4. Location-based Filtering Performance

With potentially thousands of donors in the database, implementing efficient geospatial queries that quickly return nearby donors without overwhelming the system was technically demanding.

Solutions & Learnings

1. Git Workflow Training

I conducted multiple training sessions teaching the team Git fundamentals. We established a clear branching strategy (main, develop, feature branches), implemented pull request reviews, and created documentation for common Git operations. By the end of the project, all team members could confidently contribute using Git, handling merge conflicts independently.

2. WebSocket Reliability

Implemented connection pooling and automatic reconnection logic in Socket.io. Added message queuing to handle offline scenarios and created comprehensive event handlers for different connection states. This taught me the importance of designing for network unreliability from the start.

3. Blood Compatibility Matrix

Developed a compatibility matrix mapping all blood types to their acceptable donors/recipients. Implemented unit tests covering all 64 possible donor-recipient combinations. This research deepened my understanding of both algorithmic problem-solving and the domain knowledge necessary for healthcare applications.

4. Database Optimization

Utilized MongoDB's geospatial indexing (2dsphere) for location queries and implemented pagination for large result sets. Added caching layers for frequently accessed data like donor availability. Learned the critical importance of indexing and query optimization for scalable applications.

Results & Impact

Technical Achievements

  • Successfully deployed with Docker containerization supporting easy scaling
  • Average API response time under 300ms even with complex geospatial queries
  • Real-time messaging system handling multiple concurrent connections reliably
  • Comprehensive test coverage with 50+ integration tests

Team Development

Through this project, I gained invaluable experience as a lead developer. Teaching Git to team members developed my mentorship and communication skills. All four team members are now proficient with version control and can contribute to collaborative projects effectively.

Personal Growth

  • Mastered real-time web technologies including WebSockets and Socket.io
  • Gained deep understanding of geospatial data and location-based services
  • Developed expertise in full-stack development with the MERN stack
  • Learned the importance of clear documentation and code standards in team projects
  • Enhanced problem-solving skills through complex algorithm implementation

Live Application

The application is currently live at bloodlink-ecru.vercel.app and has been tested by 30+ users including classmates and professors. Feedback has been overwhelmingly positive, with particular praise for the intuitive UI and real-time notification system.

Future Roadmap

  • Mobile app development using React Native
  • SMS notification integration for emergency requests
  • Blood bank management system integration
  • Multi-language support for broader accessibility
  • AI-powered donor recommendation system

Design & Developed by GeekRover
© 2025. All rights reserved.