BloodConnect is a web-based Blood Bank Management System built using the MERN stack (MongoDB, Express.js, React.js, Node.js). The primary goal of this project is to streamline blood donation and request processes by connecting donors, hospitals, and patients through a central platform.

This project was inspired by real-life incidents where finding blood during emergencies became a daunting task. I wanted to build something that could make the process quicker, smarter, and more accessible — especially in critical situations where time is life.

🧠 What I Learned Throughout this project, I explored and learned:

How to build and connect the frontend and backend using the MERN stack.

Implementing REST APIs with Express.

Managing authentication and authorization.

Working with MongoDB for handling relational data like donor profiles, blood stocks, and request history.

Hosting full-stack applications using platforms like Render and Railway.

Handling async operations, CORS issues, and deployment bugs.

🏗️ How I Built It 🔧 Tech Stack: Frontend: React.js, Axios, Tailwind CSS

Backend: Node.js, Express.js

Database: MongoDB (with Mongoose ODM)

Authentication: JWT-based login system

Deployment: Hosted using Render

🛠️ Features Implemented: Donor and patient registration/login

Role-based dashboards

Blood stock management

Emergency request handling

Smart donor search (by blood group & location)

Email-based alerts

⚠️ Challenges I Faced Initial setup: Syncing frontend and backend routes with proper error handling took time.

Authentication: Implementing a secure token-based system and protecting routes.

Deployment issues: Faced CORS problems and environment variable misconfigurations on Render.

Database design: Structuring data for fast queries, especially for emergency alerts and donor matching.

OTP verification: Integrating email-based OTP securely.

Built With

Share this project:

Updates

Submission history