🏆 Honorable Mention - Most Real-world Impact Track
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.
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.
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) │
└───────────────────┘
- Runtime: Node.js with ES Modules
- Framework: Express.js
- Database: Neon (Serverless PostgreSQL)
- Email Service: Nodemailer
- Environment Management: dotenv
- 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
- Google Maps: For donor-recipient geographic matching and location services
- Neon Database: Serverless PostgreSQL for scalable data storage
- Email Notifications: Nodemailer for transactional emails
- Nodemon: Hot-reload during development
- Node.js (v14 or higher)
- npm or yarn
- A Neon Database account
- Google Maps API key
- Email service credentials (for Nodemailer)
-
Clone the repository
git clone https://github.com/ackshatiwari/ACLHacks26.git cd ACLHacks26 -
Install dependencies
npm install
-
Configure environment variables Create a
.envfile 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 -
Start the development server
npm run dev
The server will start on
http://localhost:3000 -
Access the application Open your browser and navigate to
http://localhost:3000
npm start- ✅ 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
├── 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