# egritosgroup/egwebapps-wordpress architecture

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

- Interactive diagram: https://gitdiagram.com/egritosgroup/egwebapps-wordpress
- Repository: https://github.com/egritosgroup/egwebapps-wordpress

## Overview

Egwebapps is a WordPress plugin that embeds an Angular-based electronic-applications portal and exposes WordPress administration for configuring it. The principal visitor flow is a request to the portal route or shortcode, which renders a page containing the app root and its frontend assets; the plugin also serves generated authentication/application configuration. Admins configure plugin settings and can update custom page content. Configuration names capabilities such as payments, carpooling, and document services, but the available excerpts do not establish their frontend implementation or backend APIs. The bundled JavaScript is minified, so feature-level internal links are limited to what its excerpts show.

Main entry points: [`admin/admin-init.php`](https://github.com/egritosgroup/egwebapps-wordpress/blob/master/admin/admin-init.php) (Admin settings), [`init.php`](https://github.com/egritosgroup/egwebapps-wordpress/blob/master/init.php) (Plugin bootstrap), [`front/front-init.php`](https://github.com/egritosgroup/egwebapps-wordpress/blob/master/front/front-init.php) (Portal routing), [`front/view-egwebapps.php`](https://github.com/egritosgroup/egwebapps-wordpress/blob/master/front/view-egwebapps.php) (Portal view)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_wordpress["WordPress integration"]
  node_plugin["Plugin bootstrap<br/>[init.php]"]
  node_portalrouter["Portal routing<br/>[front-init.php]"]
  node_portalpage["Portal page<br/>[page-egwebapps.php]"]
  node_pagecontent["Custom page content<br/>[page-egwebapps.php]"]
end

subgraph group_configuration["Configuration and admin"]
  node_authsettings["Auth configuration<br/>[auth-settings.php]"]
  node_adminsettings["Admin settings<br/>[admin-init.php]"]
  node_admineditor["Editor integration"]
  node_richtexteditor["Rich-text editor<br/>[editor.js]"]
  node_appoptions[("Plugin options")]
end

subgraph group_portal["Portal delivery"]
  node_portalview["Portal view<br/>[view-egwebapps.php]"]
  node_appassets["Angular assets<br/>[main.js]"]
  node_webpackchunks["App feature chunks<br/>[228.js]"]
  node_jquerybundle["jQuery bundle<br/>[scripts.js]"]
end

subgraph group_updates["Plugin updates"]
  node_githubupdater["GitHub updater"]
end

node_visitor(("Visitor"))
node_adminuser(("Administrator"))
node_github["GitHub releases"]

node_visitor -->|"requests portal"| node_portalrouter
node_portalrouter -->|"loads page"| node_portalpage
node_portalrouter -->|"renders shortcode"| node_portalview
node_portalpage -->|"includes view"| node_portalview
node_portalview -->|"loads app assets"| node_appassets
node_portalview -->|"emits config URL"| node_authsettings
node_appassets -.->|"loads feature code"| node_webpackchunks
node_plugin -->|"loads module"| node_portalrouter
node_plugin -->|"loads module"| node_adminsettings
node_plugin -->|"loads module"| node_authsettings
node_plugin -->|"initializes updater"| node_githubupdater
node_adminuser -.->|"configures plugin"| node_adminsettings
node_adminsettings -.->|"reads and writes"| node_appoptions
node_admineditor -->|"uses editor"| node_richtexteditor
node_admineditor -->|"posts content update"| node_adminsettings
node_adminsettings -->|"writes page file"| node_pagecontent
node_githubupdater -->|"queries releases"| node_github

click node_plugin "https://github.com/egritosgroup/egwebapps-wordpress/blob/master/init.php"
click node_portalrouter "https://github.com/egritosgroup/egwebapps-wordpress/blob/master/front/front-init.php"
click node_portalpage "https://github.com/egritosgroup/egwebapps-wordpress/blob/master/front/page-egwebapps.php"
click node_portalview "https://github.com/egritosgroup/egwebapps-wordpress/blob/master/front/view-egwebapps.php"
click node_appassets "https://github.com/egritosgroup/egwebapps-wordpress/blob/master/static/main.js"
click node_webpackchunks "https://github.com/egritosgroup/egwebapps-wordpress/blob/master/static/228.js"
click node_jquerybundle "https://github.com/egritosgroup/egwebapps-wordpress/blob/master/static/scripts.js"
click node_authsettings "https://github.com/egritosgroup/egwebapps-wordpress/blob/master/libs/auth-settings.php"
click node_adminsettings "https://github.com/egritosgroup/egwebapps-wordpress/blob/master/admin/admin-init.php"
click node_admineditor "https://github.com/egritosgroup/egwebapps-wordpress/blob/master/admin/js/egwebapps-script.js"
click node_richtexteditor "https://github.com/egritosgroup/egwebapps-wordpress/blob/master/admin/js/editor.js"
click node_pagecontent "https://github.com/egritosgroup/egwebapps-wordpress/blob/master/front/page-egwebapps.php"
click node_githubupdater "https://github.com/egritosgroup/egwebapps-wordpress/blob/master/libs/BFIGitHubPluginUploader.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_plugin,node_portalrouter,node_portalpage,node_pagecontent toneBlue
class node_authsettings,node_adminsettings,node_admineditor,node_richtexteditor,node_appoptions toneAmber
class node_portalview,node_appassets,node_webpackchunks,node_jquerybundle toneMint
class node_githubupdater toneRose
class node_visitor,node_adminuser,node_github toneIndigo
```

## Components

### WordPress integration

- [Plugin bootstrap](https://github.com/egritosgroup/egwebapps-wordpress/blob/master/init.php): `init.php`
- [Portal routing](https://github.com/egritosgroup/egwebapps-wordpress/blob/master/front/front-init.php): `front/front-init.php`
- [Portal page](https://github.com/egritosgroup/egwebapps-wordpress/blob/master/front/page-egwebapps.php): `front/page-egwebapps.php`
- [Custom page content](https://github.com/egritosgroup/egwebapps-wordpress/blob/master/front/page-egwebapps.php): `front/page-egwebapps.php`

### Configuration and admin

- [Auth configuration](https://github.com/egritosgroup/egwebapps-wordpress/blob/master/libs/auth-settings.php): `libs/auth-settings.php`
- [Admin settings](https://github.com/egritosgroup/egwebapps-wordpress/blob/master/admin/admin-init.php): `admin/admin-init.php`
- [Editor integration](https://github.com/egritosgroup/egwebapps-wordpress/blob/master/admin/js/egwebapps-script.js): `admin/js/egwebapps-script.js`
- [Rich-text editor](https://github.com/egritosgroup/egwebapps-wordpress/blob/master/admin/js/editor.js): `admin/js/editor.js`
- **Plugin options**

### Portal delivery

- [Portal view](https://github.com/egritosgroup/egwebapps-wordpress/blob/master/front/view-egwebapps.php): `front/view-egwebapps.php`
- [Angular assets](https://github.com/egritosgroup/egwebapps-wordpress/blob/master/static/main.js): `static/main.js`
- [App feature chunks](https://github.com/egritosgroup/egwebapps-wordpress/blob/master/static/228.js): `static/228.js`
- [jQuery bundle](https://github.com/egritosgroup/egwebapps-wordpress/blob/master/static/scripts.js): `static/scripts.js`

### Plugin updates

- [GitHub updater](https://github.com/egritosgroup/egwebapps-wordpress/blob/master/libs/BFIGitHubPluginUploader.php): `libs/BFIGitHubPluginUploader.php`

### Other components

- **Visitor**
- **Administrator**
- **GitHub releases**

## Connections

- Visitor → Portal routing: requests portal (evidence: `front/front-init.php`)
- Portal routing → Portal page: loads page (evidence: `front/front-init.php`)
- Portal routing → Portal view: renders shortcode (evidence: `front/front-init.php`)
- Portal page → Portal view: includes view (evidence: `front/page-egwebapps.php`)
- Portal view → Angular assets: loads app assets (evidence: `front/view-egwebapps.php`)
- Portal view → Auth configuration: emits config URL
- Angular assets → App feature chunks: loads feature code
- Plugin bootstrap → Portal routing: loads module (evidence: `init.php`)
- Plugin bootstrap → Admin settings: loads module (evidence: `init.php`)
- Plugin bootstrap → Auth configuration: loads module (evidence: `init.php`)
- Plugin bootstrap → GitHub updater: initializes updater (evidence: `init.php`)
- Administrator → Admin settings: configures plugin
- Admin settings → Plugin options: reads and writes
- Editor integration → Rich-text editor: uses editor (evidence: `admin/js/egwebapps-script.js`)
- Editor integration → Admin settings: posts content update (evidence: `admin/js/egwebapps-script.js`)
- Admin settings → Custom page content: writes page file (evidence: `admin/admin-init.php`)
- GitHub updater → GitHub releases: queries releases (evidence: `libs/BFIGitHubPluginUploader.php`)
