How vondereich/voncms works
VonCMS is a PHP/MySQL CMS with a React admin and public-site application. The main workflow is that a publisher creates or edits content and media in the dashboard, saves it through PHP APIs, and visitors browse the resulting themed site and search or read published content. Separate capabilities cover user and settings administration, contact and newsletter tools, SEO output, analytics, and extensions. The README documents the runtime split; sampled source confirms selected React-to-API calls, but does not establish wiring for every listed feature.
Main entry points: App.tsx React application · PublicSite.tsx Theme rendering · api Content endpoints · index.php Public PHP entry
Components 21
Admin and authoring
- React application
src/App.tsx - Contact manager
src/pages/admin/ContactManager.tsx - User management
src/plugins/von-core/features/users/UserManager.tsx - Site settings
src/plugins/von-core/features/settings/SettingsManager.tsx - Admin features
src/plugins/von-core/features
Content and media
- Content editor
src/components/PostEditor.tsx - Media manager
src/plugins/von-core/features/media/MediaManager.tsx - Uploads directory
public/api/upload_file.php
Public site
- Public discovery
src/hooks/usePublicPostsQuery.ts - Theme rendering
src/plugins/von-core/features/public/PublicSite.tsx - SEO and feeds
public/seo_response_helper.php
PHP runtime
- Public PHP entry
public/index.php - PHP API
public/api/index.php - Content endpoints
public/api - Media endpoints
public/api/upload_file.php - Contact endpoints
public/api/contact/save_form.php - Newsletter endpoints
public/api/newsletter_subscribe.php - MySQL database
Extensions and themes
- Theme system
src/plugins/von-core/features/themes/ThemeEngine.ts - Built-in plugins
src/plugins/von-core/features/plugins/registry.tsx
Other components
- Visitor or publisher
Connections 25
- Visitor or publisher → React application: uses
- React application → Content editor: opens editor
- Content editor → Content endpoints: saves content
- React application → Media manager: opens media
- Media manager → Media endpoints: requests media
- Media endpoints → Uploads directory: writes files
- React application → Contact manager: opens forms
- Contact manager → Contact endpoints: loads and saves
- React application → User management: administers users
- React application → Site settings: configures site
- Site settings → PHP API: saves settings
- React application → Admin features: routes admin
- Visitor or publisher → Public PHP entry: requests site
- Public PHP entry → SEO and feeds: renders metadata
- Public PHP entry → Theme rendering: serves site
- Theme rendering → Public discovery: loads listings
- Public discovery → Content endpoints: fetches posts
- Theme rendering → Theme system: applies theme
- Theme rendering → Built-in plugins: renders extensions
- Visitor or publisher → Newsletter endpoints: subscribes
- PHP API → Content endpoints: dispatches
- Content endpoints → MySQL database: reads and writes
- Media endpoints → MySQL database: updates media records
- Contact endpoints → MySQL database: stores forms
- Newsletter endpoints → MySQL database: stores subscriptions