# pazinstar/maeeo architecture

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

- Interactive diagram: https://gitdiagram.com/pazinstar/maeeo
- Repository: https://github.com/pazinstar/maeeo

## Overview

This tree combines browser-side portfolio/site interactions with a PHP contact-mail endpoint and the PHPMailer library it uses. The principal workflow is a visitor submitting a contact form, followed by input handling and message setup; although the endpoint configures SMTP delivery, the sampled source has the actual send call commented out, so successful delivery is not established. The browser scripts also provide portfolio navigation/project rendering and site animations/carousels. PHPMailer transport and OAuth roles are grounded in sampled source; other integrations are documented or optional, but their complete runtime wiring was not inspected.

Main entry points: [`js/main.js`](https://github.com/pazinstar/maeeo/blob/main/js/main.js) (Site interactions), [`send_email.php`](https://github.com/pazinstar/maeeo/blob/main/send_email.php) (Contact endpoint), [`PHPMailer/src/SMTP.php`](https://github.com/pazinstar/maeeo/blob/main/PHPMailer/src/SMTP.php) (SMTP transport), [`js/port/main.js`](https://github.com/pazinstar/maeeo/blob/main/js/port/main.js) (Portfolio UI)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_site["Website experience"]
  node_portfolio_ui["Portfolio UI<br/>[main.js]"]
  node_site_ui["Site interactions<br/>[main.js]"]
  node_carousel["Carousel plugin<br/>[owl.carousel.js]"]
  node_easing["Animation easing<br/>[easing.js]"]
end

subgraph group_contact["Contact handling"]
  node_contact_endpoint["Contact endpoint<br/>[send_email.php]"]
end

subgraph group_mailer["Email transport"]
  node_mailer_core["Message creation<br/>[PHPMailer.php]"]
  node_mailer_errors["Mail exceptions<br/>[Exception.php]"]
  node_smtp["SMTP transport<br/>[SMTP.php]"]
  node_oauth_adapter["OAuth adapter<br/>[OAuth.php]"]
  node_oauth_contract["Token contract"]
  node_oauth_setup["OAuth setup flow"]
end

node_visitor(("Visitor"))
node_oauth_providers["OAuth providers"]
node_smtp_service["SMTP server"]

node_visitor -->|"uses navigation"| node_portfolio_ui
node_portfolio_ui -->|"renders projects"| node_portfolio_ui
node_visitor -->|"uses site controls"| node_site_ui
node_site_ui -->|"initializes"| node_carousel
node_site_ui -->|"uses easing"| node_easing
node_visitor -->|"submits form"| node_contact_endpoint
node_contact_endpoint -->|"configures message"| node_mailer_core
node_contact_endpoint -->|"catches exceptions"| node_mailer_errors
node_mailer_core -->|"uses transport"| node_smtp
node_smtp -->|"SMTP exchange"| node_smtp_service
node_smtp -.->|"requests token"| node_oauth_contract
node_oauth_adapter -->|"implements"| node_oauth_contract
node_oauth_adapter -.->|"refreshes token"| node_oauth_providers
node_visitor -.->|"starts authorization"| node_oauth_setup
node_oauth_setup -.->|"authorizes account"| node_oauth_providers

click node_portfolio_ui "https://github.com/pazinstar/maeeo/blob/main/js/port/main.js"
click node_site_ui "https://github.com/pazinstar/maeeo/blob/main/js/main.js"
click node_carousel "https://github.com/pazinstar/maeeo/blob/main/lib/owlcarousel/owl.carousel.js"
click node_easing "https://github.com/pazinstar/maeeo/blob/main/lib/easing/easing.js"
click node_contact_endpoint "https://github.com/pazinstar/maeeo/blob/main/send_email.php"
click node_mailer_core "https://github.com/pazinstar/maeeo/blob/main/PHPMailer/src/PHPMailer.php"
click node_mailer_errors "https://github.com/pazinstar/maeeo/blob/main/PHPMailer/src/Exception.php"
click node_smtp "https://github.com/pazinstar/maeeo/blob/main/PHPMailer/src/SMTP.php"
click node_oauth_adapter "https://github.com/pazinstar/maeeo/blob/main/PHPMailer/src/OAuth.php"
click node_oauth_contract "https://github.com/pazinstar/maeeo/blob/main/PHPMailer/src/OAuthTokenProvider.php"
click node_oauth_setup "https://github.com/pazinstar/maeeo/blob/main/PHPMailer/get_oauth_token.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_portfolio_ui,node_site_ui,node_carousel,node_easing toneBlue
class node_contact_endpoint toneAmber
class node_mailer_core,node_mailer_errors,node_smtp,node_oauth_adapter,node_oauth_contract,node_oauth_setup,node_smtp_service toneMint
class node_visitor,node_oauth_providers toneIndigo
```

## Components

### Website experience

- [Portfolio UI](https://github.com/pazinstar/maeeo/blob/main/js/port/main.js): `js/port/main.js`
- [Site interactions](https://github.com/pazinstar/maeeo/blob/main/js/main.js): `js/main.js`
- [Carousel plugin](https://github.com/pazinstar/maeeo/blob/main/lib/owlcarousel/owl.carousel.js): `lib/owlcarousel/owl.carousel.js`
- [Animation easing](https://github.com/pazinstar/maeeo/blob/main/lib/easing/easing.js): `lib/easing/easing.js`

### Contact handling

- [Contact endpoint](https://github.com/pazinstar/maeeo/blob/main/send_email.php): `send_email.php`

### Email transport

- [Message creation](https://github.com/pazinstar/maeeo/blob/main/PHPMailer/src/PHPMailer.php): `PHPMailer/src/PHPMailer.php`
- [Mail exceptions](https://github.com/pazinstar/maeeo/blob/main/PHPMailer/src/Exception.php): `PHPMailer/src/Exception.php`
- [SMTP transport](https://github.com/pazinstar/maeeo/blob/main/PHPMailer/src/SMTP.php): `PHPMailer/src/SMTP.php`
- [OAuth adapter](https://github.com/pazinstar/maeeo/blob/main/PHPMailer/src/OAuth.php): `PHPMailer/src/OAuth.php`
- [Token contract](https://github.com/pazinstar/maeeo/blob/main/PHPMailer/src/OAuthTokenProvider.php): `PHPMailer/src/OAuthTokenProvider.php`
- [OAuth setup flow](https://github.com/pazinstar/maeeo/blob/main/PHPMailer/get_oauth_token.php): `PHPMailer/get_oauth_token.php`

### Other components

- **Visitor**
- **OAuth providers**
- **SMTP server**

## Connections

- Visitor → Portfolio UI: uses navigation
- Portfolio UI → Portfolio UI: renders projects
- Visitor → Site interactions: uses site controls
- Site interactions → Carousel plugin: initializes
- Site interactions → Animation easing: uses easing
- Visitor → Contact endpoint: submits form
- Contact endpoint → Message creation: configures message
- Contact endpoint → Mail exceptions: catches exceptions
- Message creation → SMTP transport: uses transport
- SMTP transport → SMTP server: SMTP exchange
- SMTP transport → Token contract: requests token
- OAuth adapter → Token contract: implements
- OAuth adapter → OAuth providers: refreshes token
- Visitor → OAuth setup flow: starts authorization
- OAuth setup flow → OAuth providers: authorizes account
