# nicoooo-23/apartment-visitor-logger architecture

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

- Interactive diagram: https://gitdiagram.com/nicoooo-23/apartment-visitor-logger
- Repository: https://github.com/nicoooo-23/apartment-visitor-logger

## Overview

AVL is a PHP apartment visitor logging and administration application. Security staff use the visitor workflow to record visits, while administrators authenticate to manage apartments and tenants, review visitor history, and maintain accounts. The dashboard reports occupied apartments and checked-in visitors. The sampled source confirms the database schema and dashboard queries, and apartment management reads and writes tenant/apartment records; other workflow connections are inferred from the README and filenames, so those links are limited to the documented feature boundaries.

Main entry points: [`AVL/includes/db.php`](https://github.com/nicoooo-23/apartment-visitor-logger/blob/main/AVL/includes/db.php) (Visitor Records), [`AVL/visitor.php`](https://github.com/nicoooo-23/apartment-visitor-logger/blob/main/AVL/visitor.php) (Visitor Entry), [`AVL/admin/apartment.php`](https://github.com/nicoooo-23/apartment-visitor-logger/blob/main/AVL/admin/apartment.php) (Apartment Management), [`AVL/index.php`](https://github.com/nicoooo-23/apartment-visitor-logger/blob/main/AVL/index.php) (Home Dashboard)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_visitor["Visitor Logging"]
  node_visitor_form["Visitor Entry<br/>[visitor.php]"]
  node_visitor_handler["Visitor Processing"]
end

subgraph group_admin["Administration"]
  node_login["Admin Login<br/>[admin_login.php]"]
  node_auth_handler["Admin Authentication<br/>[process_admin.php]"]
  node_logout["Logout<br/>[logout.php]"]
  node_apartment_admin["Apartment Management<br/>[apartment.php]"]
  node_account["Account Management<br/>[account.php]"]
  node_account_handler["Account Processing"]
  node_setup["Initial Setup<br/>[setup.php]"]
  node_setup_handler["Setup Processing<br/>[process_setup.php]"]
end

subgraph group_reporting["Dashboard And History"]
  node_dashboard["Dashboard"]
  node_visitor_history["Visitor History"]
  node_home["Home Dashboard<br/>[index.php]"]
end

subgraph group_data["Application Data"]
  node_db[("Database Connection And Schema<br/>[db.php]")]
  node_apartments[("Apartments And Tenants<br/>[db.php]")]
  node_visitors[("Visitor Records<br/>[db.php]")]
  node_admins[("Admin Accounts<br/>[db.php]")]
end

node_security(("Security Staff"))
node_admin_user(("Administrator"))

node_security -->|"opens"| node_visitor_form
node_visitor_form -->|"submits visit"| node_visitor_handler
node_visitor_handler -->|"records visit"| node_visitors
node_visitor_form -->|"selects apartment"| node_apartments
node_admin_user -->|"opens"| node_login
node_login -->|"submits credentials"| node_auth_handler
node_auth_handler -->|"checks account"| node_admins
node_admin_user -->|"manages units"| node_apartment_admin
node_apartment_admin -->|"reads and updates"| node_apartments
node_apartment_admin -->|"checks visit records"| node_visitors
node_admin_user -->|"maintains account"| node_account
node_account -->|"submits changes"| node_account_handler
node_account_handler -->|"updates account"| node_admins
node_admin_user -->|"views"| node_dashboard
node_dashboard -->|"counts occupied"| node_apartments
node_dashboard -->|"counts checked in"| node_visitors
node_admin_user -->|"reviews visits"| node_visitor_history
node_visitor_history -->|"reads history"| node_visitors
node_home -->|"counts occupied"| node_apartments
node_home -->|"counts checked in"| node_visitors
node_admin_user -->|"opens setup"| node_setup
node_setup -->|"submits setup"| node_setup_handler
node_visitor_form -->|"loads connection"| node_db
node_apartment_admin -->|"loads connection"| node_db
node_home -->|"loads connection"| node_db

click node_visitor_form "https://github.com/nicoooo-23/apartment-visitor-logger/blob/main/AVL/visitor.php"
click node_visitor_handler "https://github.com/nicoooo-23/apartment-visitor-logger/blob/main/AVL/process_visitor.php"
click node_login "https://github.com/nicoooo-23/apartment-visitor-logger/blob/main/AVL/admin/admin_login.php"
click node_auth_handler "https://github.com/nicoooo-23/apartment-visitor-logger/blob/main/AVL/admin/process_admin.php"
click node_logout "https://github.com/nicoooo-23/apartment-visitor-logger/blob/main/AVL/admin/logout.php"
click node_apartment_admin "https://github.com/nicoooo-23/apartment-visitor-logger/blob/main/AVL/admin/apartment.php"
click node_account "https://github.com/nicoooo-23/apartment-visitor-logger/blob/main/AVL/admin/account.php"
click node_account_handler "https://github.com/nicoooo-23/apartment-visitor-logger/blob/main/AVL/admin/process_account.php"
click node_dashboard "https://github.com/nicoooo-23/apartment-visitor-logger/blob/main/AVL/admin/admin_dashboard.php"
click node_visitor_history "https://github.com/nicoooo-23/apartment-visitor-logger/blob/main/AVL/admin/visitor_history.php"
click node_home "https://github.com/nicoooo-23/apartment-visitor-logger/blob/main/AVL/index.php"
click node_setup "https://github.com/nicoooo-23/apartment-visitor-logger/blob/main/AVL/admin/setup.php"
click node_setup_handler "https://github.com/nicoooo-23/apartment-visitor-logger/blob/main/AVL/admin/process_setup.php"
click node_db "https://github.com/nicoooo-23/apartment-visitor-logger/blob/main/AVL/includes/db.php"
click node_apartments "https://github.com/nicoooo-23/apartment-visitor-logger/blob/main/AVL/includes/db.php"
click node_visitors "https://github.com/nicoooo-23/apartment-visitor-logger/blob/main/AVL/includes/db.php"
click node_admins "https://github.com/nicoooo-23/apartment-visitor-logger/blob/main/AVL/includes/db.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_visitor_form,node_visitor_handler toneBlue
class node_login,node_auth_handler,node_logout,node_apartment_admin,node_account,node_account_handler,node_setup,node_setup_handler toneAmber
class node_dashboard,node_visitor_history,node_home toneMint
class node_db,node_apartments,node_visitors,node_admins toneRose
class node_security,node_admin_user toneIndigo
```

## Components

### Visitor Logging

- [Visitor Entry](https://github.com/nicoooo-23/apartment-visitor-logger/blob/main/AVL/visitor.php): `AVL/visitor.php`
- [Visitor Processing](https://github.com/nicoooo-23/apartment-visitor-logger/blob/main/AVL/process_visitor.php): `AVL/process_visitor.php`

### Administration

- [Admin Login](https://github.com/nicoooo-23/apartment-visitor-logger/blob/main/AVL/admin/admin_login.php): `AVL/admin/admin_login.php`
- [Admin Authentication](https://github.com/nicoooo-23/apartment-visitor-logger/blob/main/AVL/admin/process_admin.php): `AVL/admin/process_admin.php`
- [Logout](https://github.com/nicoooo-23/apartment-visitor-logger/blob/main/AVL/admin/logout.php): `AVL/admin/logout.php`
- [Apartment Management](https://github.com/nicoooo-23/apartment-visitor-logger/blob/main/AVL/admin/apartment.php): `AVL/admin/apartment.php`
- [Account Management](https://github.com/nicoooo-23/apartment-visitor-logger/blob/main/AVL/admin/account.php): `AVL/admin/account.php`
- [Account Processing](https://github.com/nicoooo-23/apartment-visitor-logger/blob/main/AVL/admin/process_account.php): `AVL/admin/process_account.php`
- [Initial Setup](https://github.com/nicoooo-23/apartment-visitor-logger/blob/main/AVL/admin/setup.php): `AVL/admin/setup.php`
- [Setup Processing](https://github.com/nicoooo-23/apartment-visitor-logger/blob/main/AVL/admin/process_setup.php): `AVL/admin/process_setup.php`

### Dashboard And History

- [Dashboard](https://github.com/nicoooo-23/apartment-visitor-logger/blob/main/AVL/admin/admin_dashboard.php): `AVL/admin/admin_dashboard.php`
- [Visitor History](https://github.com/nicoooo-23/apartment-visitor-logger/blob/main/AVL/admin/visitor_history.php): `AVL/admin/visitor_history.php`
- [Home Dashboard](https://github.com/nicoooo-23/apartment-visitor-logger/blob/main/AVL/index.php): `AVL/index.php`

### Application Data

- [Database Connection And Schema](https://github.com/nicoooo-23/apartment-visitor-logger/blob/main/AVL/includes/db.php): `AVL/includes/db.php`
- [Apartments And Tenants](https://github.com/nicoooo-23/apartment-visitor-logger/blob/main/AVL/includes/db.php): `AVL/includes/db.php`
- [Visitor Records](https://github.com/nicoooo-23/apartment-visitor-logger/blob/main/AVL/includes/db.php): `AVL/includes/db.php`
- [Admin Accounts](https://github.com/nicoooo-23/apartment-visitor-logger/blob/main/AVL/includes/db.php): `AVL/includes/db.php`

### Other components

- **Security Staff**
- **Administrator**

## Connections

- Security Staff → Visitor Entry: opens
- Visitor Entry → Visitor Processing: submits visit
- Visitor Processing → Visitor Records: records visit
- Visitor Entry → Apartments And Tenants: selects apartment
- Administrator → Admin Login: opens
- Admin Login → Admin Authentication: submits credentials
- Admin Authentication → Admin Accounts: checks account
- Administrator → Apartment Management: manages units
- Apartment Management → Apartments And Tenants: reads and updates
- Apartment Management → Visitor Records: checks visit records
- Administrator → Account Management: maintains account
- Account Management → Account Processing: submits changes
- Account Processing → Admin Accounts: updates account
- Administrator → Dashboard: views
- Dashboard → Apartments And Tenants: counts occupied
- Dashboard → Visitor Records: counts checked in
- Administrator → Visitor History: reviews visits
- Visitor History → Visitor Records: reads history
- Home Dashboard → Apartments And Tenants: counts occupied
- Home Dashboard → Visitor Records: counts checked in
- Administrator → Initial Setup: opens setup
- Initial Setup → Setup Processing: submits setup
- Visitor Entry → Database Connection And Schema: loads connection
- Apartment Management → Database Connection And Schema: loads connection
- Home Dashboard → Database Connection And Schema: loads connection
