# liljaydi/myaccess architecture

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

- Interactive diagram: https://gitdiagram.com/liljaydi/myaccess
- Repository: https://github.com/liljaydi/myaccess

## Overview

myAccess is a PHP/MySQL password manager. The main workflow is account registration or login, followed by a session-backed accounts page where users can view, add, inspect, and delete saved credentials. The browser authentication code calls the PHP action dispatcher; the dashboard code also requests credential details there. The README lists dashboard and editing as in progress, so they are represented as capabilities, not established runtime stages. The tree omits config.php, and sampled dashboard.js excerpts are incomplete, so some database setup and dashboard request links cannot be verified.

Main entry points: [`script.js`](https://github.com/liljaydi/myaccess/blob/main/script.js) (Auth interactions), [`dashboard.php`](https://github.com/liljaydi/myaccess/blob/main/dashboard.php) (Accounts page), [`action.php`](https://github.com/liljaydi/myaccess/blob/main/action.php) (Action dispatcher), [`index.php`](https://github.com/liljaydi/myaccess/blob/main/index.php) (Login and signup)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_auth["Authentication"]
  node_auth_page["Login and signup<br/>[index.php]"]
  node_auth_client["Auth interactions<br/>[script.js]"]
  node_dispatcher["Action dispatcher<br/>[action.php]"]
end

subgraph group_vault["Credential vault"]
  node_dashboard_page["Accounts page<br/>[dashboard.php]"]
  node_dashboard_client["Vault interactions<br/>[dashboard.js]"]
  node_edit_capability["Account editing<br/>[dashboard.php]"]
end

subgraph group_storage["Persistence"]
  node_mysql[("MySQL database")]
end

node_user(("User"))

node_user -->|"enters credentials"| node_auth_page
node_auth_page -->|"loads interactions"| node_auth_client
node_auth_client -->|"posts login or signup"| node_dispatcher
node_auth_client -->|"redirects on success"| node_dashboard_page
node_dashboard_page -->|"queries accounts"| node_mysql
node_dashboard_page -->|"loads interactions"| node_dashboard_client
node_dashboard_client -->|"requests credential details"| node_dispatcher
node_dispatcher -->|"reads and writes"| node_mysql

click node_auth_page "https://github.com/liljaydi/myaccess/blob/main/index.php"
click node_auth_client "https://github.com/liljaydi/myaccess/blob/main/script.js"
click node_dispatcher "https://github.com/liljaydi/myaccess/blob/main/action.php"
click node_dashboard_page "https://github.com/liljaydi/myaccess/blob/main/dashboard.php"
click node_dashboard_client "https://github.com/liljaydi/myaccess/blob/main/dashboard.js"
click node_edit_capability "https://github.com/liljaydi/myaccess/blob/main/dashboard.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_auth_page,node_auth_client,node_dispatcher,node_user toneBlue
class node_dashboard_page,node_dashboard_client,node_edit_capability toneAmber
class node_mysql toneMint
```

## Components

### Authentication

- [Login and signup](https://github.com/liljaydi/myaccess/blob/main/index.php): `index.php`
- [Auth interactions](https://github.com/liljaydi/myaccess/blob/main/script.js): `script.js`
- [Action dispatcher](https://github.com/liljaydi/myaccess/blob/main/action.php): `action.php`

### Credential vault

- [Accounts page](https://github.com/liljaydi/myaccess/blob/main/dashboard.php): `dashboard.php`
- [Vault interactions](https://github.com/liljaydi/myaccess/blob/main/dashboard.js): `dashboard.js`
- [Account editing](https://github.com/liljaydi/myaccess/blob/main/dashboard.php): `dashboard.php`

### Persistence

- **MySQL database**

### Other components

- **User**

## Connections

- User → Login and signup: enters credentials (evidence: `index.php`)
- Login and signup → Auth interactions: loads interactions (evidence: `index.php`)
- Auth interactions → Action dispatcher: posts login or signup (evidence: `script.js`)
- Auth interactions → Accounts page: redirects on success (evidence: `script.js`)
- Accounts page → MySQL database: queries accounts (evidence: `dashboard.php`)
- Accounts page → Vault interactions: loads interactions (evidence: `dashboard.php`)
- Vault interactions → Action dispatcher: requests credential details (evidence: `dashboard.js`)
- Action dispatcher → MySQL database: reads and writes (evidence: `action.php`)
