# utsavsah75/library_project architecture

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

- Interactive diagram: https://gitdiagram.com/utsavsah75/library_project
- Repository: https://github.com/utsavsah75/library_project

## Overview

This is a PHP library-management application: administrators manage the catalog and members, while library workflows cover issuing and returning books; student-facing pages provide registration and borrowing. The clearest documented navigation is the admin menu, and the excerpts show PHP pages using a shared MySQL connection. The README instead describes sending email with PHPMailer, which is also present in the code. Several circulation and member modules are unsampled, so their connections are left unverified rather than inferred as a pipeline.

Main entry points: [`admin_header.php`](https://github.com/utsavsah75/library_project/blob/main/admin_header.php) (Admin navigation), [`conn.php`](https://github.com/utsavsah75/library_project/blob/main/conn.php) (MySQL connection), [`add_book.php`](https://github.com/utsavsah75/library_project/blob/main/add_book.php) (Book administration), [`manage_author.php`](https://github.com/utsavsah75/library_project/blob/main/manage_author.php) (Author administration)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_access["Access and navigation"]
  node_admin_nav["Admin navigation<br/>[admin_header.php]"]
  node_admin_auth["Admin access check<br/>[check_admin.php]"]
  node_admin_login["Admin login<br/>[admin_login.php]"]
  node_dashboard["Admin dashboard<br/>[dashboard.php]"]
end

subgraph group_catalog["Catalog management"]
  node_book_admin["Book administration<br/>[add_book.php]"]
  node_book_listing["Book listings<br/>[manage_book.php]"]
  node_author_admin["Author administration<br/>[manage_author.php]"]
  node_category_admin["Category administration"]
  node_book_backend["Book operations"]
end

subgraph group_circulation["Circulation"]
  node_issue_admin["Issue management<br/>[issue_book.php]"]
  node_issue_list["Issue records<br/>[issuebook_list.php]"]
  node_issue_backend["Issue operations"]
  node_return_books["Book returns<br/>[return.php]"]
end

subgraph group_members["Members and messaging"]
  node_student_admin["Student administration<br/>[reg_students.php]"]
  node_student_signup["Student registration<br/>[user_form.php]"]
  node_email_sender["Email delivery<br/>[sendmail.php]"]
end

subgraph group_data["Persistence"]
  node_db_connection["MySQL connection<br/>[conn.php]"]
  node_library_db[("Library database")]
end

node_admin(("Administrator"))
node_student(("Student"))

node_admin -->|"uses"| node_admin_nav
node_admin_nav -->|"links to"| node_dashboard
node_admin_nav -->|"links to"| node_book_admin
node_admin_nav -->|"links to"| node_book_listing
node_admin_nav -->|"links to"| node_author_admin
node_admin_nav -->|"links to"| node_category_admin
node_admin_nav -->|"links to"| node_issue_admin
node_admin_nav -->|"links to"| node_student_admin
node_book_admin -->|"requires"| node_admin_auth
node_author_admin -->|"includes"| node_admin_nav
node_author_admin -->|"uses"| node_db_connection
node_book_admin -->|"uses"| node_db_connection
node_student_signup -->|"uses"| node_db_connection
node_student_signup -.->|"sends email"| node_email_sender
node_db_connection -->|"connects to"| node_library_db
node_issue_admin -.->|"uses"| node_db_connection
node_return_books -.->|"uses"| node_db_connection
node_student -.->|"registers"| node_student_signup
node_student -.->|"borrows"| node_issue_admin
node_book_listing -.->|"uses"| node_book_backend
node_issue_list -.->|"uses"| node_issue_backend
node_admin_login -.->|"authenticates"| node_admin_auth

click node_admin_nav "https://github.com/utsavsah75/library_project/blob/main/admin_header.php"
click node_admin_auth "https://github.com/utsavsah75/library_project/blob/main/check_admin.php"
click node_admin_login "https://github.com/utsavsah75/library_project/blob/main/admin_login.php"
click node_dashboard "https://github.com/utsavsah75/library_project/blob/main/dashboard.php"
click node_book_admin "https://github.com/utsavsah75/library_project/blob/main/add_book.php"
click node_book_listing "https://github.com/utsavsah75/library_project/blob/main/manage_book.php"
click node_author_admin "https://github.com/utsavsah75/library_project/blob/main/manage_author.php"
click node_category_admin "https://github.com/utsavsah75/library_project/blob/main/manage_category.php"
click node_book_backend "https://github.com/utsavsah75/library_project/blob/main/admin_bookserver.php"
click node_issue_admin "https://github.com/utsavsah75/library_project/blob/main/issue_book.php"
click node_issue_list "https://github.com/utsavsah75/library_project/blob/main/issuebook_list.php"
click node_issue_backend "https://github.com/utsavsah75/library_project/blob/main/issuebook_server.php"
click node_return_books "https://github.com/utsavsah75/library_project/blob/main/return.php"
click node_student_admin "https://github.com/utsavsah75/library_project/blob/main/reg_students.php"
click node_student_signup "https://github.com/utsavsah75/library_project/blob/main/user_form.php"
click node_email_sender "https://github.com/utsavsah75/library_project/blob/main/sendmail.php"
click node_db_connection "https://github.com/utsavsah75/library_project/blob/main/conn.php"

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_admin_nav,node_admin_auth,node_admin_login,node_dashboard toneBlue
class node_book_admin,node_book_listing,node_author_admin,node_category_admin,node_book_backend toneAmber
class node_issue_admin,node_issue_list,node_issue_backend,node_return_books toneMint
class node_student_admin,node_student_signup,node_email_sender toneRose
class node_db_connection,node_library_db,node_admin,node_student toneIndigo
```

## Components

### Access and navigation

- [Admin navigation](https://github.com/utsavsah75/library_project/blob/main/admin_header.php): `admin_header.php`
- [Admin access check](https://github.com/utsavsah75/library_project/blob/main/check_admin.php): `check_admin.php`
- [Admin login](https://github.com/utsavsah75/library_project/blob/main/admin_login.php): `admin_login.php`
- [Admin dashboard](https://github.com/utsavsah75/library_project/blob/main/dashboard.php): `dashboard.php`

### Catalog management

- [Book administration](https://github.com/utsavsah75/library_project/blob/main/add_book.php): `add_book.php`
- [Book listings](https://github.com/utsavsah75/library_project/blob/main/manage_book.php): `manage_book.php`
- [Author administration](https://github.com/utsavsah75/library_project/blob/main/manage_author.php): `manage_author.php`
- [Category administration](https://github.com/utsavsah75/library_project/blob/main/manage_category.php): `manage_category.php`
- [Book operations](https://github.com/utsavsah75/library_project/blob/main/admin_bookserver.php): `admin_bookserver.php`

### Circulation

- [Issue management](https://github.com/utsavsah75/library_project/blob/main/issue_book.php): `issue_book.php`
- [Issue records](https://github.com/utsavsah75/library_project/blob/main/issuebook_list.php): `issuebook_list.php`
- [Issue operations](https://github.com/utsavsah75/library_project/blob/main/issuebook_server.php): `issuebook_server.php`
- [Book returns](https://github.com/utsavsah75/library_project/blob/main/return.php): `return.php`

### Members and messaging

- [Student administration](https://github.com/utsavsah75/library_project/blob/main/reg_students.php): `reg_students.php`
- [Student registration](https://github.com/utsavsah75/library_project/blob/main/user_form.php): `user_form.php`
- [Email delivery](https://github.com/utsavsah75/library_project/blob/main/sendmail.php): `sendmail.php`

### Persistence

- [MySQL connection](https://github.com/utsavsah75/library_project/blob/main/conn.php): `conn.php`
- **Library database**

### Other components

- **Administrator**
- **Student**

## Connections

- Administrator → Admin navigation: uses (evidence: `admin_header.php`)
- Admin navigation → Admin dashboard: links to (evidence: `admin_header.php`)
- Admin navigation → Book administration: links to (evidence: `admin_header.php`)
- Admin navigation → Book listings: links to (evidence: `admin_header.php`)
- Admin navigation → Author administration: links to (evidence: `admin_header.php`)
- Admin navigation → Category administration: links to (evidence: `admin_header.php`)
- Admin navigation → Issue management: links to (evidence: `admin_header.php`)
- Admin navigation → Student administration: links to (evidence: `admin_header.php`)
- Book administration → Admin access check: requires (evidence: `add_book.php`)
- Author administration → Admin navigation: includes (evidence: `manage_author.php`)
- Author administration → MySQL connection: uses (evidence: `manage_author.php`)
- Book administration → MySQL connection: uses (evidence: `add_book.php`)
- Student registration → MySQL connection: uses (evidence: `user_form.php`)
- Student registration → Email delivery: sends email
- MySQL connection → Library database: connects to (evidence: `conn.php`)
- Issue management → MySQL connection: uses (evidence: `issue_book.php`)
- Book returns → MySQL connection: uses (evidence: `return.php`)
- Student → Student registration: registers
- Student → Issue management: borrows
- Book listings → Book operations: uses
- Issue records → Issue operations: uses (evidence: `issuebook_list.php`)
- Admin login → Admin access check: authenticates
