# adityabiswas-in/forum-or-discussion-board architecture

> Architecture diagram of the GitHub repository adityabiswas-in/forum-or-discussion-board, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-15). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/adityabiswas-in/forum-or-discussion-board
- Repository: https://github.com/adityabiswas-in/forum-or-discussion-board

## Overview

Quaddit is a PHP/MySQL community discussion forum. Visitors register or sign in, then members discover groups, join communities, publish discussions with images, and participate in nested threads; users can also manage profiles, while administrators govern groups, accounts, and content. The main application page combines group discovery, feed, composer, and administration, with authentication and profile pages as separate entry points. The excerpts show database/session helpers and several page-to-database calls; some advertised capabilities are documented only in the README, so those edges cite that documentation.

Main entry points: [`index.php`](https://github.com/adityabiswas-in/forum-or-discussion-board/blob/main/index.php) (Feed & Groups), [`schema.sql`](https://github.com/adityabiswas-in/forum-or-discussion-board/blob/main/schema.sql) (Forum Database), [`login.php`](https://github.com/adityabiswas-in/forum-or-discussion-board/blob/main/login.php) (Role Login), [`db.php`](https://github.com/adityabiswas-in/forum-or-discussion-board/blob/main/db.php) (Session & Helpers)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_auth["Authentication"]
  node_register["Registration<br/>[register.php]"]
  node_admin_register["Admin Entry<br/>[admin_register.php]"]
  node_login["Role Login<br/>[login.php]"]
  node_logout["Sign Out<br/>[logout.php]"]
end

subgraph group_community["Community Discussions"]
  node_forum["Feed &amp; Groups<br/>[index.php]"]
  node_composer["Discussion Composer<br/>[index.php]"]
  node_threading["Nested Replies<br/>[index.php]"]
  node_thread_route["Thread Redirect<br/>[thread.php]"]
  node_reply_route["Reply Redirect<br/>[reply.php]"]
end

subgraph group_governance["Profiles &amp; Governance"]
  node_profile["Profile Activity<br/>[profile.php]"]
  node_admin_tools["Admin Controls<br/>[index.php]"]
end

subgraph group_platform["Shared Platform"]
  node_mobile_nav["Mobile Navigation<br/>[mobile-nav.php]"]
  node_helpers["Session &amp; Helpers<br/>[db.php]"]
  node_database[("Forum Database<br/>[schema.sql]")]
end

node_visitor(("Visitor or Member"))
node_mysql[("MySQL Service")]

node_visitor -->|"creates account"| node_register
node_visitor -->|"signs in"| node_login
node_admin_register -->|"selects admin role"| node_register
node_register -->|"stores account"| node_database
node_login -->|"checks credentials"| node_database
node_login -->|"redirects after login"| node_forum
node_logout -->|"redirects after sign-out"| node_login
node_visitor -->|"browses communities"| node_forum
node_forum -->|"queries groups and feed"| node_database
node_forum -->|"opens composer"| node_composer
node_composer -->|"creates discussions"| node_database
node_forum -->|"shows nested replies"| node_threading
node_threading -->|"stores reply hierarchy"| node_database
node_thread_route -->|"redirects to post"| node_forum
node_reply_route -->|"redirects to post"| node_forum
node_visitor -->|"views profile"| node_profile
node_profile -->|"loads activity"| node_database
node_admin_tools -->|"manages platform"| node_database
node_forum -->|"renders navigation"| node_mobile_nav
node_profile -->|"renders navigation"| node_mobile_nav
node_register -->|"uses shared helpers"| node_helpers
node_login -->|"uses shared helpers"| node_helpers
node_forum -->|"loads session and helpers"| node_helpers
node_profile -->|"loads session and helpers"| node_helpers
node_helpers -->|"opens database connection"| node_mysql
node_database -.->|"persists forum data"| node_mysql

click node_register "https://github.com/adityabiswas-in/forum-or-discussion-board/blob/main/register.php"
click node_admin_register "https://github.com/adityabiswas-in/forum-or-discussion-board/blob/main/admin_register.php"
click node_login "https://github.com/adityabiswas-in/forum-or-discussion-board/blob/main/login.php"
click node_logout "https://github.com/adityabiswas-in/forum-or-discussion-board/blob/main/logout.php"
click node_forum "https://github.com/adityabiswas-in/forum-or-discussion-board/blob/main/index.php"
click node_composer "https://github.com/adityabiswas-in/forum-or-discussion-board/blob/main/index.php"
click node_threading "https://github.com/adityabiswas-in/forum-or-discussion-board/blob/main/index.php"
click node_thread_route "https://github.com/adityabiswas-in/forum-or-discussion-board/blob/main/thread.php"
click node_reply_route "https://github.com/adityabiswas-in/forum-or-discussion-board/blob/main/reply.php"
click node_profile "https://github.com/adityabiswas-in/forum-or-discussion-board/blob/main/profile.php"
click node_admin_tools "https://github.com/adityabiswas-in/forum-or-discussion-board/blob/main/index.php"
click node_mobile_nav "https://github.com/adityabiswas-in/forum-or-discussion-board/blob/main/includes/mobile-nav.php"
click node_helpers "https://github.com/adityabiswas-in/forum-or-discussion-board/blob/main/db.php"
click node_database "https://github.com/adityabiswas-in/forum-or-discussion-board/blob/main/schema.sql"

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_register,node_admin_register,node_login,node_logout toneBlue
class node_forum,node_composer,node_threading,node_thread_route,node_reply_route,node_mysql toneAmber
class node_profile,node_admin_tools toneMint
class node_mobile_nav,node_helpers,node_database toneRose
class node_visitor toneIndigo
```

## Components

### Authentication

- [Registration](https://github.com/adityabiswas-in/forum-or-discussion-board/blob/main/register.php): `register.php`
- [Admin Entry](https://github.com/adityabiswas-in/forum-or-discussion-board/blob/main/admin_register.php): `admin_register.php`
- [Role Login](https://github.com/adityabiswas-in/forum-or-discussion-board/blob/main/login.php): `login.php`
- [Sign Out](https://github.com/adityabiswas-in/forum-or-discussion-board/blob/main/logout.php): `logout.php`

### Community Discussions

- [Feed & Groups](https://github.com/adityabiswas-in/forum-or-discussion-board/blob/main/index.php): `index.php`
- [Discussion Composer](https://github.com/adityabiswas-in/forum-or-discussion-board/blob/main/index.php): `index.php`
- [Nested Replies](https://github.com/adityabiswas-in/forum-or-discussion-board/blob/main/index.php): `index.php`
- [Thread Redirect](https://github.com/adityabiswas-in/forum-or-discussion-board/blob/main/thread.php): `thread.php`
- [Reply Redirect](https://github.com/adityabiswas-in/forum-or-discussion-board/blob/main/reply.php): `reply.php`

### Profiles & Governance

- [Profile Activity](https://github.com/adityabiswas-in/forum-or-discussion-board/blob/main/profile.php): `profile.php`
- [Admin Controls](https://github.com/adityabiswas-in/forum-or-discussion-board/blob/main/index.php): `index.php`

### Shared Platform

- [Mobile Navigation](https://github.com/adityabiswas-in/forum-or-discussion-board/blob/main/includes/mobile-nav.php): `includes/mobile-nav.php`
- [Session & Helpers](https://github.com/adityabiswas-in/forum-or-discussion-board/blob/main/db.php): `db.php`
- [Forum Database](https://github.com/adityabiswas-in/forum-or-discussion-board/blob/main/schema.sql): `schema.sql`

### Other components

- **Visitor or Member**
- **MySQL Service**

## Connections

- Visitor or Member → Registration: creates account (evidence: `README.md`)
- Visitor or Member → Role Login: signs in (evidence: `README.md`)
- Admin Entry → Registration: selects admin role (evidence: `admin_register.php`)
- Registration → Forum Database: stores account (evidence: `register.php`)
- Role Login → Forum Database: checks credentials (evidence: `login.php`)
- Role Login → Feed & Groups: redirects after login (evidence: `login.php`)
- Sign Out → Role Login: redirects after sign-out (evidence: `logout.php`)
- Visitor or Member → Feed & Groups: browses communities (evidence: `README.md`)
- Feed & Groups → Forum Database: queries groups and feed (evidence: `index.php`)
- Feed & Groups → Discussion Composer: opens composer (evidence: `README.md`)
- Discussion Composer → Forum Database: creates discussions (evidence: `index.php`)
- Feed & Groups → Nested Replies: shows nested replies (evidence: `README.md`)
- Nested Replies → Forum Database: stores reply hierarchy (evidence: `README.md`)
- Thread Redirect → Feed & Groups: redirects to post (evidence: `thread.php`)
- Reply Redirect → Feed & Groups: redirects to post (evidence: `reply.php`)
- Visitor or Member → Profile Activity: views profile (evidence: `README.md`)
- Profile Activity → Forum Database: loads activity (evidence: `profile.php`)
- Admin Controls → Forum Database: manages platform (evidence: `README.md`)
- Feed & Groups → Mobile Navigation: renders navigation (evidence: `index.php`)
- Profile Activity → Mobile Navigation: renders navigation (evidence: `profile.php`)
- Registration → Session & Helpers: uses shared helpers (evidence: `register.php`)
- Role Login → Session & Helpers: uses shared helpers (evidence: `login.php`)
- Feed & Groups → Session & Helpers: loads session and helpers (evidence: `index.php`)
- Profile Activity → Session & Helpers: loads session and helpers (evidence: `profile.php`)
- Session & Helpers → MySQL Service: opens database connection (evidence: `db.php`)
- Forum Database → MySQL Service: persists forum data
