# omkar2403/inout architecture

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

- Interactive diagram: https://gitdiagram.com/omkar2403/inout
- Repository: https://github.com/omkar2403/inout

## Overview

In Out Management System is a web application for tracking library patrons’ visits by location. The main workflow scans a patron barcode at the gate, looks up patron details in KOHA, records entry or exit in the In Out database, and displays the scan outcome and daily counts. Users can also view attendance registers and generate reports; administration covers access, users, configuration, notices, and backups. Some major pages are represented from the source index and README rather than inspected excerpts, so their internal connections are not asserted.

Main entry points: [`functions/access.php`](https://github.com/omkar2403/inout/blob/master/functions/access.php) (Access control), [`dash.php`](https://github.com/omkar2403/inout/blob/master/dash.php) (Gate register), [`functions/dbconn.php`](https://github.com/omkar2403/inout/blob/master/functions/dbconn.php) (Database connections), [`report.php`](https://github.com/omkar2403/inout/blob/master/report.php) (Attendance reports)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_gate["Gate attendance"]
  node_gateui["Gate register<br/>[dash.php]"]
  node_scan["Scan processing<br/>[main.php]"]
  node_stats["Daily statistics<br/>[stats.php]"]
end

subgraph group_records["Attendance records"]
  node_register["Entry register<br/>[register.php]"]
  node_today["Today's entries<br/>[today.php]"]
  node_reports["Attendance reports<br/>[report.php]"]
  node_reportmenu["Report access<br/>[reports.php]"]
end

subgraph group_admin["Administration"]
  node_login["Login<br/>[login.php]"]
  node_loginverify["Login verification<br/>[login_verify.php]"]
  node_users["User management<br/>[user_mgnt.php]"]
  node_setup["System setup<br/>[setup.php]"]
  node_notices["Notices<br/>[notice.php]"]
  node_backup["Backup<br/>[backup.php]"]
end

subgraph group_shared["Shared services"]
  node_access["Access control<br/>[access.php]"]
  node_dbconn["Database connections<br/>[dbconn.php]"]
  node_dbfunc["Data helpers<br/>[dbfunc.php]"]
  node_general["General helpers<br/>[general.php]"]
end

node_patron(("Gate operator"))
node_koha[("KOHA database")]
node_attendance[("Attendance database")]

node_patron -->|"scans barcode"| node_gateui
node_gateui -->|"includes"| node_scan
node_gateui -->|"includes"| node_stats
node_scan -->|"looks up patron"| node_koha
node_scan -->|"records visits"| node_attendance
node_stats -->|"queries counts"| node_attendance
node_reports -->|"queries visits"| node_attendance
node_reports -.->|"offers downloads"| node_patron
node_login -->|"uses connection"| node_dbconn
node_loginverify -->|"uses connection"| node_dbconn
node_gateui -.->|"checks access"| node_access
node_register -.->|"checks access"| node_access
node_today -.->|"checks access"| node_access
node_reports -.->|"checks access"| node_access
node_users -.->|"checks access"| node_access
node_dbconn -->|"connects"| node_attendance
node_dbconn -->|"connects"| node_koha

click node_gateui "https://github.com/omkar2403/inout/blob/master/dash.php"
click node_scan "https://github.com/omkar2403/inout/blob/master/process/operations/main.php"
click node_stats "https://github.com/omkar2403/inout/blob/master/process/operations/stats.php"
click node_register "https://github.com/omkar2403/inout/blob/master/register.php"
click node_today "https://github.com/omkar2403/inout/blob/master/today.php"
click node_reports "https://github.com/omkar2403/inout/blob/master/report.php"
click node_reportmenu "https://github.com/omkar2403/inout/blob/master/reports.php"
click node_login "https://github.com/omkar2403/inout/blob/master/login.php"
click node_loginverify "https://github.com/omkar2403/inout/blob/master/login_verify.php"
click node_access "https://github.com/omkar2403/inout/blob/master/functions/access.php"
click node_users "https://github.com/omkar2403/inout/blob/master/user_mgnt.php"
click node_setup "https://github.com/omkar2403/inout/blob/master/setup.php"
click node_notices "https://github.com/omkar2403/inout/blob/master/notice.php"
click node_backup "https://github.com/omkar2403/inout/blob/master/backup.php"
click node_dbconn "https://github.com/omkar2403/inout/blob/master/functions/dbconn.php"
click node_dbfunc "https://github.com/omkar2403/inout/blob/master/functions/dbfunc.php"
click node_general "https://github.com/omkar2403/inout/blob/master/functions/general.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_gateui,node_scan,node_stats toneBlue
class node_register,node_today,node_reports,node_reportmenu,node_koha,node_attendance toneAmber
class node_login,node_loginverify,node_users,node_setup,node_notices,node_backup toneMint
class node_access,node_dbconn,node_dbfunc,node_general toneRose
class node_patron toneIndigo
```

## Components

### Gate attendance

- [Gate register](https://github.com/omkar2403/inout/blob/master/dash.php): `dash.php`
- [Scan processing](https://github.com/omkar2403/inout/blob/master/process/operations/main.php): `process/operations/main.php`
- [Daily statistics](https://github.com/omkar2403/inout/blob/master/process/operations/stats.php): `process/operations/stats.php`

### Attendance records

- [Entry register](https://github.com/omkar2403/inout/blob/master/register.php): `register.php`
- [Today's entries](https://github.com/omkar2403/inout/blob/master/today.php): `today.php`
- [Attendance reports](https://github.com/omkar2403/inout/blob/master/report.php): `report.php`
- [Report access](https://github.com/omkar2403/inout/blob/master/reports.php): `reports.php`

### Administration

- [Login](https://github.com/omkar2403/inout/blob/master/login.php): `login.php`
- [Login verification](https://github.com/omkar2403/inout/blob/master/login_verify.php): `login_verify.php`
- [User management](https://github.com/omkar2403/inout/blob/master/user_mgnt.php): `user_mgnt.php`
- [System setup](https://github.com/omkar2403/inout/blob/master/setup.php): `setup.php`
- [Notices](https://github.com/omkar2403/inout/blob/master/notice.php): `notice.php`
- [Backup](https://github.com/omkar2403/inout/blob/master/backup.php): `backup.php`

### Shared services

- [Access control](https://github.com/omkar2403/inout/blob/master/functions/access.php): `functions/access.php`
- [Database connections](https://github.com/omkar2403/inout/blob/master/functions/dbconn.php): `functions/dbconn.php`
- [Data helpers](https://github.com/omkar2403/inout/blob/master/functions/dbfunc.php): `functions/dbfunc.php`
- [General helpers](https://github.com/omkar2403/inout/blob/master/functions/general.php): `functions/general.php`

### Other components

- **Gate operator**
- **KOHA database**
- **Attendance database**

## Connections

- Gate operator → Gate register: scans barcode (evidence: `README.md`)
- Gate register → Scan processing: includes (evidence: `dash.php`)
- Gate register → Daily statistics: includes (evidence: `dash.php`)
- Scan processing → KOHA database: looks up patron (evidence: `process/operations/main.php`)
- Scan processing → Attendance database: records visits (evidence: `process/operations/main.php`)
- Daily statistics → Attendance database: queries counts (evidence: `process/operations/stats.php`)
- Attendance reports → Attendance database: queries visits (evidence: `report.php`)
- Attendance reports → Gate operator: offers downloads (evidence: `README.md`)
- Login → Database connections: uses connection (evidence: `login.php`)
- Login verification → Database connections: uses connection (evidence: `login_verify.php`)
- Gate register → Access control: checks access (evidence: `dash.php`)
- Entry register → Access control: checks access (evidence: `register.php`)
- Today's entries → Access control: checks access (evidence: `today.php`)
- Attendance reports → Access control: checks access (evidence: `report.php`)
- User management → Access control: checks access (evidence: `user_mgnt.php`)
- Database connections → Attendance database: connects (evidence: `functions/dbconn.php`)
- Database connections → KOHA database: connects (evidence: `functions/dbconn.php`)
