# bhumikalohiya04-eng/purbiyafoundation_backend architecture

> Architecture diagram of the GitHub repository bhumikalohiya04-eng/purbiyafoundation_backend, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-29). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/bhumikalohiya04-eng/purbiyafoundation_backend
- Repository: https://github.com/bhumikalohiya04-eng/purbiyafoundation_backend

## Overview

Purbiya Foundation is a small web-based foundation administration site, served as static pages with an Express API. The principal supported workflow is an administrator logging in, then managing blog posts or events through browser forms and API requests, with records stored in MySQL and uploaded images saved under public/uploads. The tree also shows gallery, team, feedback, slider, and settings pages; their runtime wiring is not present in the sampled source, so they are represented without inferred API links.

Main entry points: [`server.js`](https://github.com/bhumikalohiya04-eng/purbiyafoundation_backend/blob/main/server.js) (Static site and API), [`db.js`](https://github.com/bhumikalohiya04-eng/purbiyafoundation_backend/blob/main/db.js) (Database connection), [`public/index.html`](https://github.com/bhumikalohiya04-eng/purbiyafoundation_backend/blob/main/public/index.html) (Login page), [`public/js/login.js`](https://github.com/bhumikalohiya04-eng/purbiyafoundation_backend/blob/main/public/js/login.js) (Login client)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_web["Admin interface"]
  node_login["Login page<br/>[index.html]"]
  node_loginjs["Login client<br/>[login.js]"]
  node_dashboard["Dashboard<br/>[dashboard.html]"]
  node_blogpage["Blog management<br/>[blog.html]"]
  node_eventpage["Event management<br/>[event.html]"]
  node_password["Password page"]
  node_gallery["Gallery page<br/>[gallery.html]"]
  node_team["Team page<br/>[team.html]"]
  node_feedback["Feedback page<br/>[feedback.html]"]
  node_slider["Slider page<br/>[slider.html]"]
  node_settings["Settings page<br/>[setting.html]"]
end

subgraph group_api["API and access"]
  node_server["Static site and API<br/>[server.js]"]
end

subgraph group_content["Content management"]
  node_blogclient["Blog client<br/>[blog.js]"]
  node_eventclient["Event client<br/>[events.js]"]
end

subgraph group_storage["Persistence"]
  node_dbmodule["Database connection<br/>[db.js]"]
  node_mysql[("MySQL database")]
  node_uploads[("Uploaded media")]
end

node_admin(("Administrator"))

node_admin -->|"opens"| node_login
node_login -->|"runs"| node_loginjs
node_loginjs -->|"posts credentials"| node_server
node_server -->|"queries"| node_dbmodule
node_dbmodule -->|"connects"| node_mysql
node_server -->|"serves"| node_dashboard
node_admin -->|"manages posts"| node_blogpage
node_blogpage -->|"runs"| node_blogclient
node_blogclient -->|"requests blog API"| node_server
node_server -->|"reads and writes"| node_dbmodule
node_server -->|"stores images"| node_uploads
node_admin -->|"manages events"| node_eventpage
node_eventpage -->|"runs"| node_eventclient
node_eventclient -->|"requests event API"| node_server
node_server -->|"serves"| node_password
node_admin -->|"opens"| node_gallery
node_admin -->|"opens"| node_team
node_admin -->|"opens"| node_feedback
node_admin -->|"opens"| node_slider
node_admin -->|"opens"| node_settings

click node_server "https://github.com/bhumikalohiya04-eng/purbiyafoundation_backend/blob/main/server.js"
click node_login "https://github.com/bhumikalohiya04-eng/purbiyafoundation_backend/blob/main/public/index.html"
click node_loginjs "https://github.com/bhumikalohiya04-eng/purbiyafoundation_backend/blob/main/public/js/login.js"
click node_dashboard "https://github.com/bhumikalohiya04-eng/purbiyafoundation_backend/blob/main/public/dashboard.html"
click node_blogpage "https://github.com/bhumikalohiya04-eng/purbiyafoundation_backend/blob/main/public/blog.html"
click node_blogclient "https://github.com/bhumikalohiya04-eng/purbiyafoundation_backend/blob/main/public/js/blog.js"
click node_eventpage "https://github.com/bhumikalohiya04-eng/purbiyafoundation_backend/blob/main/public/event.html"
click node_eventclient "https://github.com/bhumikalohiya04-eng/purbiyafoundation_backend/blob/main/public/js/events.js"
click node_password "https://github.com/bhumikalohiya04-eng/purbiyafoundation_backend/blob/main/public/change-password.html"
click node_gallery "https://github.com/bhumikalohiya04-eng/purbiyafoundation_backend/blob/main/public/gallery.html"
click node_team "https://github.com/bhumikalohiya04-eng/purbiyafoundation_backend/blob/main/public/team.html"
click node_feedback "https://github.com/bhumikalohiya04-eng/purbiyafoundation_backend/blob/main/public/feedback.html"
click node_slider "https://github.com/bhumikalohiya04-eng/purbiyafoundation_backend/blob/main/public/slider.html"
click node_settings "https://github.com/bhumikalohiya04-eng/purbiyafoundation_backend/blob/main/public/setting.html"
click node_dbmodule "https://github.com/bhumikalohiya04-eng/purbiyafoundation_backend/blob/main/db.js"
click node_uploads "https://github.com/bhumikalohiya04-eng/purbiyafoundation_backend/tree/main/public/uploads"

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_login,node_loginjs,node_dashboard,node_blogpage,node_eventpage,node_password,node_gallery,node_team,node_feedback,node_slider,node_settings toneBlue
class node_server toneAmber
class node_blogclient,node_eventclient toneMint
class node_dbmodule,node_mysql,node_uploads toneRose
class node_admin toneIndigo
```

## Components

### Admin interface

- [Login page](https://github.com/bhumikalohiya04-eng/purbiyafoundation_backend/blob/main/public/index.html): `public/index.html`
- [Login client](https://github.com/bhumikalohiya04-eng/purbiyafoundation_backend/blob/main/public/js/login.js): `public/js/login.js`
- [Dashboard](https://github.com/bhumikalohiya04-eng/purbiyafoundation_backend/blob/main/public/dashboard.html): `public/dashboard.html`
- [Blog management](https://github.com/bhumikalohiya04-eng/purbiyafoundation_backend/blob/main/public/blog.html): `public/blog.html`
- [Event management](https://github.com/bhumikalohiya04-eng/purbiyafoundation_backend/blob/main/public/event.html): `public/event.html`
- [Password page](https://github.com/bhumikalohiya04-eng/purbiyafoundation_backend/blob/main/public/change-password.html): `public/change-password.html`
- [Gallery page](https://github.com/bhumikalohiya04-eng/purbiyafoundation_backend/blob/main/public/gallery.html): `public/gallery.html`
- [Team page](https://github.com/bhumikalohiya04-eng/purbiyafoundation_backend/blob/main/public/team.html): `public/team.html`
- [Feedback page](https://github.com/bhumikalohiya04-eng/purbiyafoundation_backend/blob/main/public/feedback.html): `public/feedback.html`
- [Slider page](https://github.com/bhumikalohiya04-eng/purbiyafoundation_backend/blob/main/public/slider.html): `public/slider.html`
- [Settings page](https://github.com/bhumikalohiya04-eng/purbiyafoundation_backend/blob/main/public/setting.html): `public/setting.html`

### API and access

- [Static site and API](https://github.com/bhumikalohiya04-eng/purbiyafoundation_backend/blob/main/server.js): `server.js`

### Content management

- [Blog client](https://github.com/bhumikalohiya04-eng/purbiyafoundation_backend/blob/main/public/js/blog.js): `public/js/blog.js`
- [Event client](https://github.com/bhumikalohiya04-eng/purbiyafoundation_backend/blob/main/public/js/events.js): `public/js/events.js`

### Persistence

- [Database connection](https://github.com/bhumikalohiya04-eng/purbiyafoundation_backend/blob/main/db.js): `db.js`
- **MySQL database**
- [Uploaded media](https://github.com/bhumikalohiya04-eng/purbiyafoundation_backend/tree/main/public/uploads): `public/uploads`

### Other components

- **Administrator**

## Connections

- Administrator → Login page: opens
- Login page → Login client: runs
- Login client → Static site and API: posts credentials
- Static site and API → Database connection: queries
- Database connection → MySQL database: connects
- Static site and API → Dashboard: serves
- Administrator → Blog management: manages posts
- Blog management → Blog client: runs
- Blog client → Static site and API: requests blog API
- Static site and API → Database connection: reads and writes
- Static site and API → Uploaded media: stores images
- Administrator → Event management: manages events
- Event management → Event client: runs
- Event client → Static site and API: requests event API
- Static site and API → Password page: serves
- Administrator → Gallery page: opens
- Administrator → Team page: opens
- Administrator → Feedback page: opens
- Administrator → Slider page: opens
- Administrator → Settings page: opens
