# sheniprashanth/digitized-organ-donation-platform-for-effictient-matching-and-social-impact architecture

> Architecture diagram of the GitHub repository sheniprashanth/digitized-organ-donation-platform-for-effictient-matching-and-social-impact, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-11). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/sheniprashanth/digitized-organ-donation-platform-for-effictient-matching-and-social-impact
- Repository: https://github.com/sheniprashanth/digitized-organ-donation-platform-for-effictient-matching-and-social-impact

## Overview

This is a web platform for organ-donation registration, administration, and donor–recipient matching. The principal backend flow stores donor and recipient registrations in Neo4j, lets administrators verify users, then finds verified pairs with matching blood group and organ. Authentication also supports OTP email, login, and profile access or updates; the server serves the HTML frontend and exposes the API. The README additionally describes status tracking, hospital dashboards, and community engagement. Those frontend capabilities are documented, but their implementation and API wiring were not sampled, so their links are not inferred.

Main entry points: [`backend/server.js`](https://github.com/sheniprashanth/digitized-organ-donation-platform-for-effictient-matching-and-social-impact/blob/main/backend/server.js) (Express server), [`backend/routes/auth.js`](https://github.com/sheniprashanth/digitized-organ-donation-platform-for-effictient-matching-and-social-impact/blob/main/backend/routes/auth.js) (Registration and user API), [`backend/config/neo4j.js`](https://github.com/sheniprashanth/digitized-organ-donation-platform-for-effictient-matching-and-social-impact/blob/main/backend/config/neo4j.js) (Neo4j connection), [`backend/routes/admin.js`](https://github.com/sheniprashanth/digitized-organ-donation-platform-for-effictient-matching-and-social-impact/blob/main/backend/routes/admin.js) (Verification and matching API)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_frontend["Web interface"]
  node_home["Platform home<br/>[index.html]"]
  node_registration["Registration screen<br/>[register.html]"]
  node_login["Login screen<br/>[login.html]"]
  node_donor_dashboard["Donor dashboard"]
  node_recipient_dashboard["Recipient dashboard"]
  node_admin_dashboard["Admin dashboard"]
end

subgraph group_identity["Registration and profiles"]
  node_auth_api["Registration and user API<br/>[auth.js]"]
  node_otp_email["OTP email delivery<br/>[auth.js]"]
end

subgraph group_operations["Admin and matching"]
  node_admin_api["Verification and matching API<br/>[admin.js]"]
end

subgraph group_infrastructure["Backend and services"]
  node_server["Express server<br/>[server.js]"]
  node_neo4j_driver["Neo4j connection<br/>[neo4j.js]"]
  node_neo4j[("Neo4j database")]
  node_email_service["Email service"]
end

node_people(("Donors and recipients"))
node_admins(("Administrators"))

node_people -.->|"register via"| node_registration
node_people -.->|"sign in via"| node_login
node_admins -.->|"manage via"| node_admin_dashboard
node_server -->|"serves"| node_home
node_server -->|"mounts routes"| node_auth_api
node_server -->|"mounts routes"| node_admin_api
node_auth_api -->|"opens sessions"| node_neo4j_driver
node_neo4j_driver -->|"connects to"| node_neo4j
node_auth_api -->|"invokes"| node_otp_email
node_otp_email -->|"sends OTP"| node_email_service
node_admin_api -->|"opens sessions"| node_neo4j_driver
node_server -->|"sends match email"| node_email_service

click node_home "https://github.com/sheniprashanth/digitized-organ-donation-platform-for-effictient-matching-and-social-impact/blob/main/frontend/index.html"
click node_registration "https://github.com/sheniprashanth/digitized-organ-donation-platform-for-effictient-matching-and-social-impact/blob/main/frontend/register.html"
click node_login "https://github.com/sheniprashanth/digitized-organ-donation-platform-for-effictient-matching-and-social-impact/blob/main/frontend/login.html"
click node_donor_dashboard "https://github.com/sheniprashanth/digitized-organ-donation-platform-for-effictient-matching-and-social-impact/blob/main/frontend/donor-dashboard.html"
click node_recipient_dashboard "https://github.com/sheniprashanth/digitized-organ-donation-platform-for-effictient-matching-and-social-impact/blob/main/frontend/recipient-dashboard.html"
click node_admin_dashboard "https://github.com/sheniprashanth/digitized-organ-donation-platform-for-effictient-matching-and-social-impact/blob/main/frontend/admin-dashboard.html"
click node_auth_api "https://github.com/sheniprashanth/digitized-organ-donation-platform-for-effictient-matching-and-social-impact/blob/main/backend/routes/auth.js"
click node_otp_email "https://github.com/sheniprashanth/digitized-organ-donation-platform-for-effictient-matching-and-social-impact/blob/main/backend/routes/auth.js"
click node_admin_api "https://github.com/sheniprashanth/digitized-organ-donation-platform-for-effictient-matching-and-social-impact/blob/main/backend/routes/admin.js"
click node_server "https://github.com/sheniprashanth/digitized-organ-donation-platform-for-effictient-matching-and-social-impact/blob/main/backend/server.js"
click node_neo4j_driver "https://github.com/sheniprashanth/digitized-organ-donation-platform-for-effictient-matching-and-social-impact/blob/main/backend/config/neo4j.js"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_home,node_registration,node_login,node_donor_dashboard,node_recipient_dashboard,node_admin_dashboard toneBlue
class node_auth_api,node_otp_email toneAmber
class node_admin_api toneMint
class node_server,node_neo4j_driver,node_neo4j,node_email_service toneRose
class node_people,node_admins toneIndigo
```

## Components

### Web interface

- [Platform home](https://github.com/sheniprashanth/digitized-organ-donation-platform-for-effictient-matching-and-social-impact/blob/main/frontend/index.html): `frontend/index.html`
- [Registration screen](https://github.com/sheniprashanth/digitized-organ-donation-platform-for-effictient-matching-and-social-impact/blob/main/frontend/register.html): `frontend/register.html`
- [Login screen](https://github.com/sheniprashanth/digitized-organ-donation-platform-for-effictient-matching-and-social-impact/blob/main/frontend/login.html): `frontend/login.html`
- [Donor dashboard](https://github.com/sheniprashanth/digitized-organ-donation-platform-for-effictient-matching-and-social-impact/blob/main/frontend/donor-dashboard.html): `frontend/donor-dashboard.html`
- [Recipient dashboard](https://github.com/sheniprashanth/digitized-organ-donation-platform-for-effictient-matching-and-social-impact/blob/main/frontend/recipient-dashboard.html): `frontend/recipient-dashboard.html`
- [Admin dashboard](https://github.com/sheniprashanth/digitized-organ-donation-platform-for-effictient-matching-and-social-impact/blob/main/frontend/admin-dashboard.html): `frontend/admin-dashboard.html`

### Registration and profiles

- [Registration and user API](https://github.com/sheniprashanth/digitized-organ-donation-platform-for-effictient-matching-and-social-impact/blob/main/backend/routes/auth.js): `backend/routes/auth.js`
- [OTP email delivery](https://github.com/sheniprashanth/digitized-organ-donation-platform-for-effictient-matching-and-social-impact/blob/main/backend/routes/auth.js): `backend/routes/auth.js`

### Admin and matching

- [Verification and matching API](https://github.com/sheniprashanth/digitized-organ-donation-platform-for-effictient-matching-and-social-impact/blob/main/backend/routes/admin.js): `backend/routes/admin.js`

### Backend and services

- [Express server](https://github.com/sheniprashanth/digitized-organ-donation-platform-for-effictient-matching-and-social-impact/blob/main/backend/server.js): `backend/server.js`
- [Neo4j connection](https://github.com/sheniprashanth/digitized-organ-donation-platform-for-effictient-matching-and-social-impact/blob/main/backend/config/neo4j.js): `backend/config/neo4j.js`
- **Neo4j database**
- **Email service**

### Other components

- **Donors and recipients**
- **Administrators**

## Connections

- Donors and recipients → Registration screen: register via (evidence: `README.md`)
- Donors and recipients → Login screen: sign in via (evidence: `README.md`)
- Administrators → Admin dashboard: manage via (evidence: `README.md`)
- Express server → Platform home: serves (evidence: `backend/server.js`)
- Express server → Registration and user API: mounts routes (evidence: `backend/server.js`)
- Express server → Verification and matching API: mounts routes (evidence: `backend/server.js`)
- Registration and user API → Neo4j connection: opens sessions (evidence: `backend/routes/auth.js`)
- Neo4j connection → Neo4j database: connects to (evidence: `backend/config/neo4j.js`)
- Registration and user API → OTP email delivery: invokes (evidence: `backend/routes/auth.js`)
- OTP email delivery → Email service: sends OTP (evidence: `backend/routes/auth.js`)
- Verification and matching API → Neo4j connection: opens sessions (evidence: `backend/routes/admin.js`)
- Express server → Email service: sends match email (evidence: `backend/server.js`)
