A full-stack MERN web application designed to connect blood donors with recipients efficiently. This platform enables users to create, manage, and respond to blood donation requests in a structured and user-friendly way.
🔗 Live Site: https://lifedrop-donation.netlify.app/
🔗 Client Repo: https://github.com/suronjit02/LifeDrop/tree/main/lifedrop-client
🔗 Server Repo: https://github.com/suronjit02/LifeDrop/tree/main/lifedrop-backend
The main goal of this application is to simplify the blood donation process by:
- Connecting donors with recipients
- Managing donation requests efficiently
- Providing role-based dashboards for better control
- Encouraging people to donate blood and save lives
- Email & Password Authentication (Firebase)
- JWT-based API protection
- Environment variable secured credentials (Firebase & MongoDB)
- Admin: Full access (user management, requests, funding)
- Donor: Create & manage own donation requests
- Volunteer: Manage requests (limited access)
-
Create, update, delete donation requests
-
Donation status flow:
Pending → In Progress → Done / Canceled
-
View request details and donate
- Role-based dashboards
- Profile management with editable form
- Admin statistics (users, funds, requests)
-
Search donors by:
- Blood group
- District
- Upazila
- Users can donate funds
- Funding history table
- Total funding shown in dashboard
- Fully responsive (Mobile, Tablet, Desktop)
- Clean and modern design
- Consistent UI/UX across all pages
- React.js
- Tailwind CSS / DaisyUI
- React Router
- Axios
- Firebase Authentication
- Node.js
- Express.js
- MongoDB
- JWT (JSON Web Token)
- Stripe
src/
├── components/
├── pages/
├── layouts/
├── hooks/
├── routes/
└── utils/
server/
├── routes/
├── controllers/
├── middleware/
├── config/
└── index.js
VITE_API_URL=your_api_url
VITE_FIREBASE_API_KEY=your_key
VITE_FIREBASE_AUTH_DOMAIN=your_domain
PORT=5000
MONGODB_URI=your_mongodb_uri
JWT_SECRET=your_secret
STRIPE_SECRET_KEY=your_stripe_key
- Role-based route protection
- Private routes persistence (reload safe)
- No CORS / 404 / 504 errors in production
- Smooth navigation without reload errors
- Pagination & filtering system
- JWT authentication
- Stripe payment integration
- Admin dashboard statistics
- Pagination & filtering
- Protected private routes
- Clean & minimal design
- Consistent color scheme
- Equal card layout
- Sidebar-based dashboard
- User-friendly interaction
- axios
- react-router-dom
- firebase
- jsonwebtoken
- stripe
- dotenv
- mongoose
- express
- cors
Suronjit Sutradhar 📘 CSE Student | MERN Stack Developer
- Email verification & password reset
- Real-time notification system
- Advanced analytics (charts)
- Mobile app version
This project is built with the goal of helping people connect and save lives through blood donation. Feedback and contributions are always welcome!