# pbootcmspro/pbootcms architecture

> Architecture diagram of the GitHub repository pbootcmspro/pbootcms, 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/pbootcmspro/pbootcms
- Repository: https://github.com/pbootcmspro/pbootcms

## Overview

PbootCMS is a PHP content-management system for building multilingual business websites from configurable content and templates. The main workflow is visitors requesting pages, whose controllers retrieve site or content data and pass it through the template-tag parser for rendering; visitors can also search and submit forms. Administrators manage that content and system settings through the protected backend. The README also documents API, membership, AI assistance, and online upgrades. Some subsystem links are based on documented capabilities and tree paths; only sampled source supports the more specific control-flow links shown.

Main entry points: [`apps/admin/controller/IndexController.php`](https://github.com/pbootcmspro/PbootCMS/blob/master/apps/admin/controller/IndexController.php) (Admin Login), [`core/basic/Kernel.php`](https://github.com/pbootcmspro/PbootCMS/blob/master/core/basic/Kernel.php) (Application Framework), [`apps/home/controller`](https://github.com/pbootcmspro/PbootCMS/tree/master/apps/home/controller) (Site Requests), [`core/database/Builder.php`](https://github.com/pbootcmspro/PbootCMS/blob/master/core/database/Builder.php) (Database Drivers)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_public["Public Website"]
  node_site_routes["Site Requests"]
  node_site_actions["Site Features"]
  node_site_data["Site Data"]
  node_tag_parser["Template Parser"]
  node_templates["Site Templates"]
end

subgraph group_admin["Administration"]
  node_admin_login["Admin Login"]
  node_content_admin["Content Management"]
  node_content_models["Content Models"]
  node_member_admin["Member Management"]
  node_system_admin["System Management"]
  node_roles["Roles and Access<br/>[RoleController.php]"]
end

subgraph group_services["Interfaces and Services"]
  node_api["CMS API<br/>[CmsController.php]"]
  node_api_models["API Data<br/>[CmsModel.php]"]
  node_ai["AI Assistant<br/>[AiController.php]"]
  node_editor_upload["Editor Uploads<br/>[controller.php]"]
  node_upgrade["Online Upgrade"]
  node_llms["LLMS Listing<br/>[LlmsController.php]"]
end

subgraph group_runtime["Runtime Foundation"]
  node_framework["Application Framework<br/>[Kernel.php]"]
  node_database["Database Drivers<br/>[Builder.php]"]
  node_database_config["Database Configuration<br/>[database.php]"]
  node_cache["Cache Layer<br/>[Cache.php]"]
  node_memcache["Memcache Sessions"]
end

node_visitor(("Visitor"))
node_admin_user(("Administrator"))

node_visitor -->|"requests pages"| node_site_routes
node_site_routes -->|"dispatches features"| node_site_actions
node_site_actions -->|"loads site data"| node_site_data
node_site_routes -->|"parses labels"| node_tag_parser
node_tag_parser -->|"renders templates"| node_templates
node_visitor -.->|"requests data"| node_api
node_api -->|"loads API data"| node_api_models
node_admin_user -->|"signs in"| node_admin_login
node_admin_login -->|"opens management"| node_content_admin
node_content_admin -->|"reads and writes"| node_content_models
node_admin_login -->|"opens management"| node_member_admin
node_admin_login -->|"opens settings"| node_system_admin
node_admin_login -->|"checks permissions"| node_roles
node_content_admin -.->|"requests assistance"| node_ai
node_admin_user -->|"uploads media"| node_editor_upload
node_admin_user -.->|"starts upgrade"| node_upgrade
node_site_routes -.->|"serves listing"| node_llms
node_framework -->|"dispatches requests"| node_site_routes
node_framework -->|"dispatches requests"| node_admin_login
node_framework -->|"dispatches requests"| node_api
node_database -->|"uses settings"| node_database_config
node_site_data -->|"queries records"| node_database
node_content_models -->|"queries records"| node_database
node_api_models -->|"queries records"| node_database
node_framework -->|"uses cache"| node_cache
node_framework -.->|"stores sessions"| node_memcache

click node_site_routes "https://github.com/pbootcmspro/PbootCMS/tree/master/apps/home/controller"
click node_site_actions "https://github.com/pbootcmspro/PbootCMS/tree/master/apps/home/controller"
click node_site_data "https://github.com/pbootcmspro/PbootCMS/tree/master/apps/home/model"
click node_tag_parser "https://github.com/pbootcmspro/PbootCMS/blob/master/apps/home/controller/ParserController.php"
click node_templates "https://github.com/pbootcmspro/PbootCMS/tree/master/template/default"
click node_admin_login "https://github.com/pbootcmspro/PbootCMS/blob/master/apps/admin/controller/IndexController.php"
click node_content_admin "https://github.com/pbootcmspro/PbootCMS/blob/master/apps/admin/controller/content/ContentController.php"
click node_content_models "https://github.com/pbootcmspro/PbootCMS/tree/master/apps/admin/model/content"
click node_member_admin "https://github.com/pbootcmspro/PbootCMS/blob/master/apps/admin/controller/member/MemberController.php"
click node_system_admin "https://github.com/pbootcmspro/PbootCMS/tree/master/apps/admin/controller/system"
click node_roles "https://github.com/pbootcmspro/PbootCMS/blob/master/apps/admin/controller/system/RoleController.php"
click node_api "https://github.com/pbootcmspro/PbootCMS/blob/master/apps/api/controller/CmsController.php"
click node_api_models "https://github.com/pbootcmspro/PbootCMS/blob/master/apps/api/model/CmsModel.php"
click node_ai "https://github.com/pbootcmspro/PbootCMS/blob/master/apps/admin/controller/content/AiController.php"
click node_editor_upload "https://github.com/pbootcmspro/PbootCMS/blob/master/core/extend/ueditor/php/controller.php"
click node_upgrade "https://github.com/pbootcmspro/PbootCMS/blob/master/apps/admin/controller/system/UpgradeController.php"
click node_llms "https://github.com/pbootcmspro/PbootCMS/blob/master/apps/home/controller/LlmsController.php"
click node_framework "https://github.com/pbootcmspro/PbootCMS/blob/master/core/basic/Kernel.php"
click node_database "https://github.com/pbootcmspro/PbootCMS/blob/master/core/database/Builder.php"
click node_database_config "https://github.com/pbootcmspro/PbootCMS/blob/master/config/database.php"
click node_cache "https://github.com/pbootcmspro/PbootCMS/blob/master/core/basic/Cache.php"
click node_memcache "https://github.com/pbootcmspro/PbootCMS/blob/master/core/basic/MemcacheSessionHandler.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_site_routes,node_site_actions,node_site_data,node_tag_parser,node_templates toneBlue
class node_admin_login,node_content_admin,node_content_models,node_member_admin,node_system_admin,node_roles toneAmber
class node_api,node_api_models,node_ai,node_editor_upload,node_upgrade,node_llms toneMint
class node_framework,node_database,node_database_config,node_cache,node_memcache toneRose
class node_visitor,node_admin_user toneIndigo
```

## Components

### Public Website

- [Site Requests](https://github.com/pbootcmspro/PbootCMS/tree/master/apps/home/controller): `apps/home/controller`
- [Site Features](https://github.com/pbootcmspro/PbootCMS/tree/master/apps/home/controller): `apps/home/controller`
- [Site Data](https://github.com/pbootcmspro/PbootCMS/tree/master/apps/home/model): `apps/home/model`
- [Template Parser](https://github.com/pbootcmspro/PbootCMS/blob/master/apps/home/controller/ParserController.php): `apps/home/controller/ParserController.php`
- [Site Templates](https://github.com/pbootcmspro/PbootCMS/tree/master/template/default): `template/default`

### Administration

- [Admin Login](https://github.com/pbootcmspro/PbootCMS/blob/master/apps/admin/controller/IndexController.php): `apps/admin/controller/IndexController.php`
- [Content Management](https://github.com/pbootcmspro/PbootCMS/blob/master/apps/admin/controller/content/ContentController.php): `apps/admin/controller/content/ContentController.php`
- [Content Models](https://github.com/pbootcmspro/PbootCMS/tree/master/apps/admin/model/content): `apps/admin/model/content`
- [Member Management](https://github.com/pbootcmspro/PbootCMS/blob/master/apps/admin/controller/member/MemberController.php): `apps/admin/controller/member/MemberController.php`
- [System Management](https://github.com/pbootcmspro/PbootCMS/tree/master/apps/admin/controller/system): `apps/admin/controller/system`
- [Roles and Access](https://github.com/pbootcmspro/PbootCMS/blob/master/apps/admin/controller/system/RoleController.php): `apps/admin/controller/system/RoleController.php`

### Interfaces and Services

- [CMS API](https://github.com/pbootcmspro/PbootCMS/blob/master/apps/api/controller/CmsController.php): `apps/api/controller/CmsController.php`
- [API Data](https://github.com/pbootcmspro/PbootCMS/blob/master/apps/api/model/CmsModel.php): `apps/api/model/CmsModel.php`
- [AI Assistant](https://github.com/pbootcmspro/PbootCMS/blob/master/apps/admin/controller/content/AiController.php): `apps/admin/controller/content/AiController.php`
- [Editor Uploads](https://github.com/pbootcmspro/PbootCMS/blob/master/core/extend/ueditor/php/controller.php): `core/extend/ueditor/php/controller.php`
- [Online Upgrade](https://github.com/pbootcmspro/PbootCMS/blob/master/apps/admin/controller/system/UpgradeController.php): `apps/admin/controller/system/UpgradeController.php`
- [LLMS Listing](https://github.com/pbootcmspro/PbootCMS/blob/master/apps/home/controller/LlmsController.php): `apps/home/controller/LlmsController.php`

### Runtime Foundation

- [Application Framework](https://github.com/pbootcmspro/PbootCMS/blob/master/core/basic/Kernel.php): `core/basic/Kernel.php`
- [Database Drivers](https://github.com/pbootcmspro/PbootCMS/blob/master/core/database/Builder.php): `core/database/Builder.php`
- [Database Configuration](https://github.com/pbootcmspro/PbootCMS/blob/master/config/database.php): `config/database.php`
- [Cache Layer](https://github.com/pbootcmspro/PbootCMS/blob/master/core/basic/Cache.php): `core/basic/Cache.php`
- [Memcache Sessions](https://github.com/pbootcmspro/PbootCMS/blob/master/core/basic/MemcacheSessionHandler.php): `core/basic/MemcacheSessionHandler.php`

### Other components

- **Visitor**
- **Administrator**

## Connections

- Visitor → Site Requests: requests pages
- Site Requests → Site Features: dispatches features
- Site Features → Site Data: loads site data
- Site Requests → Template Parser: parses labels
- Template Parser → Site Templates: renders templates
- Visitor → CMS API: requests data
- CMS API → API Data: loads API data
- Administrator → Admin Login: signs in
- Admin Login → Content Management: opens management
- Content Management → Content Models: reads and writes
- Admin Login → Member Management: opens management
- Admin Login → System Management: opens settings
- Admin Login → Roles and Access: checks permissions
- Content Management → AI Assistant: requests assistance
- Administrator → Editor Uploads: uploads media
- Administrator → Online Upgrade: starts upgrade
- Site Requests → LLMS Listing: serves listing
- Application Framework → Site Requests: dispatches requests
- Application Framework → Admin Login: dispatches requests
- Application Framework → CMS API: dispatches requests
- Database Drivers → Database Configuration: uses settings
- Site Data → Database Drivers: queries records
- Content Models → Database Drivers: queries records
- API Data → Database Drivers: queries records
- Application Framework → Cache Layer: uses cache
- Application Framework → Memcache Sessions: stores sessions
