Skip to content

abhayclasher/BloodNearMe

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

42 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿฉธ BloodNearMe

Connecting Blood Donors & Recipients Instantly โ€” Save Lives, One Drop at a Time

Live Site License Next.js Firebase TypeScript


๐Ÿ“– Table of Contents


โœจ Overview

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.

๐ŸŽฏ Key Highlights

  • ๐Ÿš€ 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 & Vision

๐Ÿฉธ 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


โšก Features

๐Ÿ”ฅ Core Features

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

๐Ÿงฑ Tech Stack

Frontend

Backend & Database

  • Database: Firebase Firestore (NoSQL)
  • Real-time: Firebase real-time listeners
  • Storage: Firebase Storage (for future media uploads)

Development Tools

  • Package Manager: pnpm
  • Linting: ESLint
  • Deployment: Vercel
  • Analytics: Vercel Analytics
  • Version Control: Git & GitHub

Key Dependencies

{
  "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"
}

๐Ÿงญ Pages & Previews

๐Ÿ  Home

Connect instantly with donors and receivers, view urgent requests, and get real-time updates.
Home Page


๐Ÿ” Find Donors

Search verified donors by state and blood group โ€” get contact info directly.
Find Donors


๐Ÿฉธ About

Learn about BloodNearMeโ€™s mission, vision, and commitment to saving lives.
About Page


๐Ÿ‘จโ€๐Ÿ’ป Developer Profile

Meet the creator โ€” a young developer building for a cause.
Developer Profile


๐Ÿš€ Getting Started

Prerequisites

Before you begin, ensure you have the following installed:

Installation

  1. Clone the repository

    git clone https://github.com/abhayclasher/BloodNearMe.git
    cd BloodNearMe
  2. Install dependencies

    pnpm install
  3. Set up Firebase

    • Create a new Firebase project at Firebase Console
    • Enable Firestore Database
    • Copy your Firebase configuration
    • Create a .env.local file 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
  4. Run the development server

    pnpm dev
  5. Open your browser Navigate to http://localhost:3000

Build for Production

pnpm build
pnpm start

๐Ÿงฉ Project Structure

BloodNearMe/
โ”‚
โ”œโ”€โ”€ 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 dependencies

๐Ÿš€ Deployment

Live Site

The application is deployed on Vercel for optimal performance and reliability.

๐ŸŒ Visit: blood-near-me.vercel.app

Deploy Your Own

Option 1: Deploy to Vercel (Recommended)

Deploy with Vercel

  1. Click the button above
  2. Connect your GitHub account
  3. Add environment variables (Firebase config)
  4. Deploy!

Option 2: Manual Deployment

# Install Vercel CLI
pnpm add -g vercel

# Build the project
pnpm build

# Deploy
vercel --prod

Option 3: Other Platforms

  • Netlify: Use the included netlify.toml configuration
  • Docker: Build a container with next build and next start
  • Self-hosted: Deploy on any Node.js server

๐Ÿค Contributing

We welcome contributions from the community! Here's how you can help:

Ways to Contribute

  • ๐Ÿ› 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

Development Workflow

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Code Standards

  • Follow the existing code style
  • Write meaningful commit messages
  • Add comments for complex logic
  • Test your changes thoroughly
  • Update documentation as needed

๐Ÿ“„ License

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.

๐Ÿ™ Acknowledgments

  • 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

๐Ÿ“ž Support & Contact

Need help or have questions?


โค๏ธ Credits

๐Ÿ‘จโ€๐Ÿ’ป Developed by

Abhay Kumar

๐Ÿง  Full Stack Web Developer | 21 | Kolkata, India ๐Ÿ‡ฎ๐Ÿ‡ณ
Building technology that saves lives through community collaboration

๐Ÿ† About the Developer

  • ๐Ÿ’ป 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

๐Ÿ”— Connect With Me

Website GitHub LinkedIn Email


๐Ÿ’ญ Project Philosophy

"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

About

Connecting Blood Donors & Recipients Instantly โ€” Save Lives, One Drop at a Time ๐Ÿฉธ

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors