# austinginder/minn-admin architecture

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

- Interactive diagram: https://gitdiagram.com/austinginder/minn-admin
- Repository: https://github.com/austinginder/minn-admin

## Overview

Minn Admin is a WordPress plugin that provides an authenticated, minimal dashboard alongside classic wp-admin. The main workflow is an administrator opening `/minn-admin/`, using its interface to manage site data, and receiving results through WordPress REST endpoints. The REST layer also supports operational tools and plugin-backed surfaces; adapters map supported plugins into those workflows. The README documents broad content, commerce, writing, and site-care capabilities. The supplied tree and excerpts do not include the app’s JavaScript, so its internal screen-to-endpoint wiring is not shown.

Main entry points: [`includes/class-minn-admin-rest.php`](https://github.com/austinginder/minn-admin/blob/main/includes/class-minn-admin-rest.php) (REST endpoints), [`includes/class-minn-admin.php`](https://github.com/austinginder/minn-admin/blob/main/includes/class-minn-admin.php) (Dashboard route), [`includes/class-minn-admin-surfaces.php`](https://github.com/austinginder/minn-admin/blob/main/includes/class-minn-admin-surfaces.php) (Plugin surfaces), [`includes/adapters/acf.php`](https://github.com/austinginder/minn-admin/blob/main/includes/adapters/acf.php) (Custom fields)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_entry["Dashboard entry"]
  node_dashboard["Minn dashboard"]
  node_route["Dashboard route"]
end

subgraph group_api["REST and admin"]
  node_rest["REST endpoints"]
  node_admin["Admin controls"]
  node_surfaces["Plugin surfaces"]
end

subgraph group_work["Site workflows"]
  node_content["Content and writing"]
  node_commerce["WooCommerce"]
  node_sitecare["Site care"]
  node_batch["Batch actions"]
  node_logs["Activity logs"]
end

subgraph group_extensions["Plugin integrations"]
  node_acf["Custom fields<br/>[acf.php]"]
  node_jetfields["JetEngine fields"]
  node_jetoptions["JetEngine options"]
  node_redirects["Redirect management"]
  node_transients["Transient cleanup"]
end

node_operator(("Administrator"))
node_wordpress[("WordPress core")]
node_plugins["Supported plugins"]

node_operator -->|"opens"| node_route
node_route -->|"serves"| node_dashboard
node_dashboard -->|"requests data"| node_rest
node_rest -->|"reads and writes"| node_wordpress
node_rest -->|"serves"| node_content
node_rest -->|"serves"| node_commerce
node_rest -->|"serves"| node_sitecare
node_rest -->|"dispatches"| node_batch
node_rest -->|"serves"| node_logs
node_admin -->|"registers"| node_route
node_surfaces -->|"detects integrations"| node_plugins
node_acf -.->|"extends editor"| node_content
node_jetfields -.->|"extends editor"| node_content
node_jetoptions -.->|"extends options"| node_admin
node_redirects -.->|"uses plugin API"| node_plugins
node_transients -->|"deletes transients"| node_wordpress

click node_dashboard "https://github.com/austinginder/minn-admin/blob/main/includes/class-minn-admin.php"
click node_route "https://github.com/austinginder/minn-admin/blob/main/includes/class-minn-admin.php"
click node_rest "https://github.com/austinginder/minn-admin/blob/main/includes/class-minn-admin-rest.php"
click node_admin "https://github.com/austinginder/minn-admin/blob/main/includes/class-minn-admin.php"
click node_surfaces "https://github.com/austinginder/minn-admin/blob/main/includes/class-minn-admin-surfaces.php"
click node_content "https://github.com/austinginder/minn-admin/blob/main/includes/class-minn-admin-rest.php"
click node_commerce "https://github.com/austinginder/minn-admin/blob/main/includes/class-minn-admin-rest.php"
click node_sitecare "https://github.com/austinginder/minn-admin/blob/main/includes/class-minn-admin-rest.php"
click node_batch "https://github.com/austinginder/minn-admin/blob/main/includes/class-minn-admin-batch.php"
click node_logs "https://github.com/austinginder/minn-admin/blob/main/includes/class-minn-admin-logs.php"
click node_acf "https://github.com/austinginder/minn-admin/blob/main/includes/adapters/acf.php"
click node_jetfields "https://github.com/austinginder/minn-admin/blob/main/includes/adapters/jet-engine-fields.php"
click node_jetoptions "https://github.com/austinginder/minn-admin/blob/main/includes/adapters/jet-engine-options.php"
click node_redirects "https://github.com/austinginder/minn-admin/blob/main/includes/adapters/safe-redirect-manager.php"
click node_transients "https://github.com/austinginder/minn-admin/blob/main/includes/adapters/transients-manager.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_dashboard,node_route toneBlue
class node_rest,node_admin,node_surfaces,node_wordpress toneAmber
class node_content,node_commerce,node_sitecare,node_batch,node_logs toneMint
class node_acf,node_jetfields,node_jetoptions,node_redirects,node_transients toneRose
class node_operator,node_plugins toneIndigo
```

## Components

### Dashboard entry

- [Minn dashboard](https://github.com/austinginder/minn-admin/blob/main/includes/class-minn-admin.php): `includes/class-minn-admin.php`
- [Dashboard route](https://github.com/austinginder/minn-admin/blob/main/includes/class-minn-admin.php): `includes/class-minn-admin.php`

### REST and admin

- [REST endpoints](https://github.com/austinginder/minn-admin/blob/main/includes/class-minn-admin-rest.php): `includes/class-minn-admin-rest.php`
- [Admin controls](https://github.com/austinginder/minn-admin/blob/main/includes/class-minn-admin.php): `includes/class-minn-admin.php`
- [Plugin surfaces](https://github.com/austinginder/minn-admin/blob/main/includes/class-minn-admin-surfaces.php): `includes/class-minn-admin-surfaces.php`

### Site workflows

- [Content and writing](https://github.com/austinginder/minn-admin/blob/main/includes/class-minn-admin-rest.php): `includes/class-minn-admin-rest.php`
- [WooCommerce](https://github.com/austinginder/minn-admin/blob/main/includes/class-minn-admin-rest.php): `includes/class-minn-admin-rest.php`
- [Site care](https://github.com/austinginder/minn-admin/blob/main/includes/class-minn-admin-rest.php): `includes/class-minn-admin-rest.php`
- [Batch actions](https://github.com/austinginder/minn-admin/blob/main/includes/class-minn-admin-batch.php): `includes/class-minn-admin-batch.php`
- [Activity logs](https://github.com/austinginder/minn-admin/blob/main/includes/class-minn-admin-logs.php): `includes/class-minn-admin-logs.php`

### Plugin integrations

- [Custom fields](https://github.com/austinginder/minn-admin/blob/main/includes/adapters/acf.php): `includes/adapters/acf.php`
- [JetEngine fields](https://github.com/austinginder/minn-admin/blob/main/includes/adapters/jet-engine-fields.php): `includes/adapters/jet-engine-fields.php`
- [JetEngine options](https://github.com/austinginder/minn-admin/blob/main/includes/adapters/jet-engine-options.php): `includes/adapters/jet-engine-options.php`
- [Redirect management](https://github.com/austinginder/minn-admin/blob/main/includes/adapters/safe-redirect-manager.php): `includes/adapters/safe-redirect-manager.php`
- [Transient cleanup](https://github.com/austinginder/minn-admin/blob/main/includes/adapters/transients-manager.php): `includes/adapters/transients-manager.php`

### Other components

- **Administrator**
- **WordPress core**
- **Supported plugins**

## Connections

- Administrator → Dashboard route: opens
- Dashboard route → Minn dashboard: serves
- Minn dashboard → REST endpoints: requests data
- REST endpoints → WordPress core: reads and writes
- REST endpoints → Content and writing: serves
- REST endpoints → WooCommerce: serves
- REST endpoints → Site care: serves
- REST endpoints → Batch actions: dispatches
- REST endpoints → Activity logs: serves
- Admin controls → Dashboard route: registers
- Plugin surfaces → Supported plugins: detects integrations
- Custom fields → Content and writing: extends editor
- JetEngine fields → Content and writing: extends editor
- JetEngine options → Admin controls: extends options
- Redirect management → Supported plugins: uses plugin API
- Transient cleanup → WordPress core: deletes transients
