Connecting Blood Donors & Recipients Instantly โ Save Lives, One Drop at a Time
- Overview
- Features
- Tech Stack
- Getting Started
- Project Structure
- Pages & Previews
- Deployment
- Contributing
- License
- Credits
BloodNearMe is a community-driven, open-source platform designed to bridge the critical gap between blood donors and those in urgent need across India. Built with modern web technologies, the platform enables instant connections without the friction of sign-ups or lengthy verification processes.
- ๐ Zero Friction: No account required โ post requests or register as a donor instantly
- โก Real-time Updates: Firebase-powered live data synchronization
- ๐บ๏ธ Location-Based: Filter by state, city, and blood group for precise matching
- ๐ฑ Mobile-First: Fully responsive design optimized for all devices
- ๐ Dark Mode: Eye-friendly interface with elegant black-red theme
- โ๏ธ Direct Contact: One-click calling to connect donors and recipients immediately
๐ฉธ Mission: Ensure no life is lost due to blood shortage by creating an accessible, community-first platform
๐ Vision: Build India's largest grassroots blood donation network powered by technology and compassion
| Feature | Description |
|---|---|
| ๐ฉธ Blood Request System | Post urgent blood requirements with location, blood group, and contact details |
| ๐ฅ Donor Directory | Browse verified donors filtered by state, city, and blood group |
| โก Real-time Updates | Firebase Firestore ensures instant synchronization across all users |
| ๐บ๏ธ Location-Based Search | Smart filtering system covering all Indian states and major cities |
| โ๏ธ Direct Communication | One-click calling feature to connect instantly |
| ๐ Dark Mode First | Beautiful dark theme by default with light mode toggle |
| ๐ฑ Fully Responsive | Seamless experience across desktop, tablet, and mobile devices |
| ๐ซ No Authentication | Community-first approach โ no login barriers |
| ๐ Advanced Filtering | Search by blood group (A+, A-, B+, B-, AB+, AB-, O+, O-) |
| โฑ๏ธ Urgent Requests | Highlighted priority section for critical cases |
- Framework: Next.js 16 with App Router
- Language: TypeScript 5.9+
- UI Library: React 18
- Styling: TailwindCSS 4 + CSS-in-JS
- Components: Radix UI primitives
- Icons: Lucide React
- Forms: React Hook Form + Zod validation
- Theme: next-themes for dark/light mode
- Database: Firebase Firestore (NoSQL)
- Real-time: Firebase real-time listeners
- Storage: Firebase Storage (for future media uploads)
- Package Manager: pnpm
- Linting: ESLint
- Deployment: Vercel
- Analytics: Vercel Analytics
- Version Control: Git & GitHub
{
"next": "^16.0.0",
"react": "^18.3.1",
"firebase": "latest",
"tailwindcss": "^4.1.9",
"typescript": "^5.9.3",
"zod": "3.25.76",
"react-hook-form": "^7.60.0"
}Connect instantly with donors and receivers, view urgent requests, and get real-time updates.

Search verified donors by state and blood group โ get contact info directly.

Learn about BloodNearMeโs mission, vision, and commitment to saving lives.

Meet the creator โ a young developer building for a cause.

Before you begin, ensure you have the following installed:
- Node.js 18.x or higher (Download)
- pnpm package manager (Install)
- Git (Download)
- Firebase Account (Sign Up)
-
Clone the repository
git clone https://github.com/abhayclasher/BloodNearMe.git cd BloodNearMe -
Install dependencies
pnpm install
-
Set up Firebase
- Create a new Firebase project at Firebase Console
- Enable Firestore Database
- Copy your Firebase configuration
- Create a
.env.localfile in the root directory:
NEXT_PUBLIC_FIREBASE_API_KEY=your_api_key NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=your_auth_domain NEXT_PUBLIC_FIREBASE_PROJECT_ID=your_project_id NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=your_storage_bucket NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=your_sender_id NEXT_PUBLIC_FIREBASE_APP_ID=your_app_id
-
Run the development server
pnpm dev
-
Open your browser Navigate to http://localhost:3000
pnpm build
pnpm startBloodNearMe/
โ
โโโ app/ # Next.js App Router pages
โ โโโ about/ # About page
โ โโโ admin/ # Admin dashboard (future)
โ โ โโโ dashboard/
โ โโโ donor/ # Donor registration page
โ โโโ find/ # Find donors page
โ โโโ request/ # Blood request form
โ โโโ requests/ # All requests listing
โ โโโ globals.css # Global styles
โ โโโ layout.tsx # Root layout
โ โโโ page.tsx # Home page
โ
โโโ components/ # React components
โ โโโ ui/ # Reusable UI components (Radix)
โ โโโ about-section.tsx
โ โโโ all-donors.tsx
โ โโโ blood-request-form.tsx
โ โโโ donor-card.tsx
โ โโโ donor-form.tsx
โ โโโ donor-map.tsx
โ โโโ donor-search.tsx
โ โโโ navbar.tsx
โ โโโ footer.tsx
โ โโโ urgent-requests.tsx
โ
โโโ lib/ # Utility functions & configs
โ โโโ firebase.ts # Firebase initialization
โ โโโ types.ts # TypeScript type definitions
โ โโโ utils.ts # Helper functions
โ
โโโ hooks/ # Custom React hooks
โ โโโ use-mobile.ts
โ โโโ use-toast.ts
โ
โโโ public/ # Static assets
โ โโโ *.png # Screenshots & images
โ
โโโ scripts/ # Utility scripts
โ โโโ add-dummy-data.ts
โ
โโโ components.json # shadcn/ui configuration
โโโ next.config.mjs # Next.js configuration
โโโ tailwind.config.ts # Tailwind CSS configuration
โโโ tsconfig.json # TypeScript configuration
โโโ package.json # Project dependenciesThe application is deployed on Vercel for optimal performance and reliability.
๐ Visit: blood-near-me.vercel.app
- Click the button above
- Connect your GitHub account
- Add environment variables (Firebase config)
- Deploy!
# Install Vercel CLI
pnpm add -g vercel
# Build the project
pnpm build
# Deploy
vercel --prod- Netlify: Use the included
netlify.tomlconfiguration - Docker: Build a container with
next buildandnext start - Self-hosted: Deploy on any Node.js server
We welcome contributions from the community! Here's how you can help:
- ๐ Report Bugs: Open an issue describing the problem
- ๐ก Suggest Features: Share your ideas for improvements
- ๐ง Submit Pull Requests: Fix bugs or add new features
- ๐ Improve Documentation: Help make the docs better
- ๐ Spread the Word: Share BloodNearMe with others
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Follow the existing code style
- Write meaningful commit messages
- Add comments for complex logic
- Test your changes thoroughly
- Update documentation as needed
This project is licensed under the BloodNearMe Community License.
โ
Permitted: Personal use, modifications, non-commercial sharing
โ Restricted: Commercial use without permission
For commercial licensing inquiries, contact: abhaypro.cloud@gmail.com
See the LICENSE file for complete terms.
- Firebase for providing robust real-time database infrastructure
- Vercel for seamless deployment and hosting
- Radix UI for accessible component primitives
- Next.js Team for the incredible React framework
- Open Source Community for inspiration and support
Need help or have questions?
- ๐ง Email: abhaypro.cloud@gmail.com
- ๐ Issues: GitHub Issues
- ๐ฌ Discussions: GitHub Discussions
๐ง Full Stack Web Developer | 21 | Kolkata, India ๐ฎ๐ณ
Building technology that saves lives through community collaboration
- ๐ป Passionate about creating impactful solutions with modern web technologies
- ๐ฏ Focused on healthcare accessibility and social good
- ๐ Self-taught developer with expertise in React, Next.js, and Firebase
- โ๏ธ Hobbies: Chess, Cricket, and Open Source Contribution
"Every drop counts. Every second matters."
This project was born from a simple belief: technology should serve humanity.
In emergencies, every second counts. BloodNearMe eliminates barriers between
those who need blood and those willing to donate.
No bureaucracy. No delays. Just humanity helping humanity.
โญ If this project helped you or someone you know, please star it! โญ
Your support motivates continued development and helps others discover this resource.
โค๏ธ Made with passion in India ๐ฎ๐ณ
Dedicated to everyone working to make healthcare accessible