RedHope is a robust MERN-stack platform designed to bridge the gap between blood donors and recipients. It streamlines the process of requesting blood, managing donor databases, and handling emergency requirements through a role-based dashboard system (Admin, Volunteer, and Donor).
Live Site: (https://fantastic-blancmange-4be651.netlify.app/)
Client Repository: [(https://github.com/mahady1234/Assignment11.git)]
Server Repository: [https://github.com/mahady1234/Assignment11ServerSite.git]
Frontend Framework: React (v19) with Vite
Styling: Tailwind CSS & DaisyUI (Custom Theme)
Routing: React Router Dom (v7)
Icons & Animation: Lucide-React, React Icons, Framer Motion
State & Forms: React Hook Form, Axios
Visualization: Recharts (for Dashboard Analytics)
Notifications: React Hot Toast / SweetAlert2
Backend & Security Environment: Node.js & Express.js
Database: MongoDB
Authentication: Firebase Auth & JWT (JSON Web Tokens)
Payment: Stripe (for Funding System)
Admin: Full control over users (block/unblock), role management, and all donation requests.
Volunteer: Can manage all donation requests and update statuses, with restricted access to administrative settings.
Donor: Can create blood requests, manage personal profile, and view their donation history.
Search Engine: Advanced filtering by Blood Group, District, and Upazila to find donors instantly.
Request Lifecycle: Complete workflow from Pending → Inprogress → Done/Canceled.
Public Requests: A dedicated page for pending requests where any logged-in user can step up to donate.
Statistics: Interactive charts (using Recharts) showing total donors, funds, and donation requests.
Pagination & Filtering: Tabular data management with server-side pagination for seamless performance.
Dynamic Profile: Non-editable email security with an easy-to-use toggle for profile updates.
Secure Transactions: Integrated Stripe Payment Gateway for users to contribute funds to the organization.
Financial History: A transparent funding page showing all contributions in real-time.
Clone the repositories:
Bash
git clone https://github.com/mahady1234/Assignment11.git git clone https://github.com/mahady1234/Assignment11ServerSite.git Install dependencies (both Client & Server):
Bash
npm install Environment Variables: Create a .env file in the root of both folders and add the following:
Server .env:
Code snippet
DB_USER=your_mongodb_user DB_PASS=your_mongodb_password JWT_SECRET=your_jwt_secret_key STRIPE_SECRET_KEY=your_stripe_key Client .env:
Code snippet
VITE_FIREBASE_API_KEY=your_api_key VITE_STRIPE_PUBLIC_KEY=your_stripe_key Run the application:
Bash
npm run dev
Environment Variables: Sensitive Firebase and MongoDB credentials are fully secured.
JWT Authentication: Private routes and APIs are protected via JWT tokens stored securely.
CORS Configuration: Server is optimized for production to prevent cross-origin errors.
Email: admin@gmail.com
Password: 029529Rumi