OneDrop is a comprehensive full-stack web application designed to connect blood donors, recipients, hospitals, and blood banks in a seamless, unified ecosystem.
By streamlining the process of finding and requesting blood, OneDrop aims to reduce the critical time it takes during emergencies to match donors with patients in need.
- Intelligent Donor Search: Search for available donors in your city by blood group and availability status.
- Emergency SOS & Contact: Send instant, real-time emails to eligible donors during an emergency with one click.
- Live Inventory Dashboard: Blood banks and hospitals can track, manage, and update their live blood stock.
- Role-Based Dashboards: Unique dashboard experiences and capabilities for Donors, Recipients, Hospitals, and Admins.
- Secure Authentication: JSON Web Token (JWT) based authentication with encrypted passwords.
- Admin Moderation: Comprehensive analytics, user moderation, and platform oversight.
- Frontend: React.js, Vite, Tailwind CSS, Framer Motion, Chart.js
- Backend: Node.js, Express.js
- Database: MongoDB (Mongoose)
- Email Service: Nodemailer (SMTP configuration)
git clone https://github.com/your-username/bloodlink.git
cd bloodlinkcd backend
npm installCreate a .env file in the backend directory with the following keys:
PORT=5000
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret
SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
SMTP_SECURE=false
SMTP_USER=your_email@gmail.com
SMTP_PASS=your_gmail_app_passwordStart the backend server:
npm run devOpen a new terminal window:
cd frontend
npm install
npm run devThe application will be running at http://localhost:5173.
Built with ❤️ to save lives.