Skip to content

ackshatiwari/ACLHacks26

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ACL Hacks 2026 - Organ Donation Matching Platform

🏆 Honorable Mention - Most Real-world Impact Track

Inspiration

Every day, thousands of people are waiting for organ transplants, and the need for organs far exceeds the supply. The gap between organ donors and recipients is a critical healthcare challenge. We were inspired to create a platform that leverages technology to make organ donation and matching more accessible, efficient, and impactful. By bridging donors with recipients and simplifying the donation process, we aim to save lives and create a more connected donor community.

What It Does

This platform connects organ donors with recipients through an intelligent matching system. Users can:

  • Create an Account: Register as either a potential donor or someone in need of an organ
  • Register Organs: Donors can list the organs they're willing to donate
  • Find Matches: The system matches donors with recipients based on blood type, organ type, and geographic location using Google Maps integration
  • Get Notified: Automatic email notifications keep users informed about potential matches
  • Access Dashboard: A personalized dashboard displays all relevant information and potential matches

The platform aims to streamline the organ donation process and increase transparency and accessibility in the donation ecosystem.

Architecture

The application follows a client-server architecture:

┌─────────────────────┐
│   Frontend (SPA)    │
│  Static HTML/CSS/JS │
│                     │
└──────────┬──────────┘
           │
           │ HTTP/REST
           │
┌──────────▼──────────┐
│   Express Server    │
│  - Route Handling   │
│  - API Endpoints    │
│  - Email Service    │
└──────────┬──────────┘
           │
      ┌────┴─────────────────────────────┐
      │                                  │
┌─────▼──────────┐          ┌────────────▼────────┐
│ Neon Database  │          │  Google Maps API    │
│ (PostgreSQL)   │          │  (Location Matching)│
└────────────────┘          └─────────────────────┘

           │
      ┌────▼──────────────┐
      │   Nodemailer      │
      │  (Email Alerts)   │
      └───────────────────┘

Tech Stack

Backend

  • Runtime: Node.js with ES Modules
  • Framework: Express.js
  • Database: Neon (Serverless PostgreSQL)
  • Email Service: Nodemailer
  • Environment Management: dotenv

Frontend

  • HTML5: Semantic markup
  • CSS3: Custom styling for responsive design
  • JavaScript: Dynamic form rendering and client-side logic
  • APIs: Google Maps JavaScript API for geolocation services

External Services

  • Google Maps: For donor-recipient geographic matching and location services
  • Neon Database: Serverless PostgreSQL for scalable data storage
  • Email Notifications: Nodemailer for transactional emails

Dev Tools

  • Nodemon: Hot-reload during development

How to Set It Up

Prerequisites

  • Node.js (v14 or higher)
  • npm or yarn
  • A Neon Database account
  • Google Maps API key
  • Email service credentials (for Nodemailer)

Installation Steps

  1. Clone the repository

    git clone https://github.com/ackshatiwari/ACLHacks26.git
    cd ACLHacks26
  2. Install dependencies

    npm install
  3. Configure environment variables Create a .env file in the project root:

    DATABASE_URL=your_neon_database_connection_string
    GOOGLE_MAPS_API_KEY=your_google_maps_api_key
    SMTP_SERVICE=your_email_service
    SMTP_USER=your_email@example.com
    SMTP_PASS=your_email_password
    PORT=3000
    
  4. Start the development server

    npm run dev

    The server will start on http://localhost:3000

  5. Access the application Open your browser and navigate to http://localhost:3000

Production Deployment

npm start

Project Features

  • ✅ User authentication and account creation
  • ✅ Organ registration system
  • ✅ Smart matching algorithm (blood type, organ type, location)
  • ✅ Email notifications for matches
  • ✅ Responsive web interface
  • ✅ Google Maps integration for location services
  • ✅ Dashboard for users to track their information

File Structure

├── index.js                 # Main Express server
├── package.json             # Dependencies and scripts
├── public/                  # Static assets
│   ├── *.html              # Page templates
│   ├── css/                # Stylesheets
│   └── js/                 # Client-side JavaScript
├── .env                    # Environment variables (not in repo)
└── README.md               # This file

Made with ❤️ for ACL Hacks 2026

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors