Technical Documentation
coreX Technical Specs
Architecture, system requirements and technical specifications of the coreX CMS.
Technology Stack
PHP 8.2
Backend core, fully typed with declare(strict_types)
MariaDB / MySQL
Relational DB, accessed via PDO with prepared statements
Bootstrap 5
Responsive UI framework with custom dark theme
Vanilla JS
No build step, no frameworks — just native JS
AOS Library
Animate on Scroll — CSS fade-in animations
Quill / CodeMirror
WYSIWYG editor for content (Quill) & code editor for custom CSS/JS (CodeMirror)
Server Requirements
PHP Version
≥ 8.1 (recommended: 8.2+)
Web Server
Apache 2.4+ or Nginx
Database
MariaDB 10.4+ or MySQL 8.0+
PHP Extensions
pdo_mysql, mbstring, json, fileinfo, gd
Disk Space
min. 50 MB (without media library)
PHP memory_limit
min. 128 MB
upload_max_filesize
Recommended: 32 MB+
SSL/HTTPS
Recommended for production
mod_rewrite
Required (Apache)
Composer
Not required
Development Environment
Local (recommended)
XAMPP, MAMP or Laragon
PHP CLI
For Spark CLI helper scripts
Editor
VS Code (recommended)
Database UI
phpMyAdmin / TablePlus
Browser DevTools
Chrome/Firefox for debugging
.env Setup
APP_BASE, DB_* variables
coreX requires no Composer, npm or build tools. Deployment = upload files + import DB.
Architecture
Architektur
- Router: Pfad-basiertes Routing mit URL-Gruppen und Locale-Prefix
- Controller: AuthController, ButtonPaletteController, CardSettingsController, ContactController, ContentController, CoreYController, DesignController, FooterController, ForumAdminController, ForumFrontendController, MediaController, MlsController, NewsController, RolesController, SeoController, SessionController, SettingsController, StatsController, SystemController, UpdateController, UserController
- Services: ButtonPaletteService, ConfigSettingsService, ContactSettingsService, CoreYService, CssGeneratorService, DesignSettingsService, HeroSettingsService, ImageUploadService, LanguageSettingsService, LogoUploadService, SeoService
- Services/Parts: ContactCssGenerator, NaviCssGenerator (je CssPartInterface)
- Contracts: CssPartInterface
- Repositories: DesignSettingsRepository
- Helpers: SettingsSanitizer
- Models: ButtonPaletteManager, FooterManager, KlaroManager, SiteSettings
- Views: PHP-Templates ohne Template-Engine
- MLS: coreX_mls() Helper, JSON-Sprachdateien in lang/{locale}/
Sicherheitsschicht
- CSRF-Token-Validierung bei allen POST-Requests
- XSS-Sanitierung via Security::xss() / htmlspecialchars()
- PDO Prepared Statements (kein raw SQL mit User-Input)
- Rollenbasiertes Rechtesystem (permissions + role_permissions)
- Session-basierte Authentifizierung mit Replay-Schutz
- bcrypt-Passwort-Hashing (PASSWORD_BCRYPT, cost 12) — OWASP-konform
- Login-Captcha-Schutz via Captcha-Core-Klasse
Datenbankschema
- pages — CMS-Seiten mit Typ & Slug
- page_blocks — Block-Inhalte (JSON-data) pro Seite
- news — Blog/News-Beiträge
- users — Benutzerkonten mit Rolle
- roles / permissions / role_permissions — Rechtesystem
- site_settings — Key/Value Konfigurationsspeicher
- design_settings — Design-spezifische Farbwerte (multi-design-fähig)
- button_palette — Button-Styling-Profile (Farben, Schatten, Glow, Glas)
- media — Mediathek-Einträge
- visitors / active_sessions — Statistiken
- contact_messages — Kontaktformular
- revisions — Versionsverlauf
- footer_links / footer_flat_links / footer_socials — Footer-Konfiguration
- klaro_services — Cookie-Consent (Klaro)
Block-System
- Blöcke sind eigenständige PHP-Views in views/blocks/
- Block-Typen: hero, cta, text, two_col, cards, timeline, slider, divider, raw_html
- Daten werden als JSON in page_blocks.data gespeichert
- Drag & Drop Sortierung via SortableJS
- Inline-Bearbeitung mit Quill (WYSIWYG) & CodeMirror (Custom CSS/JS)
- Update-System mit Paket-Installation und Baseline-Snapshots
Directory Structure
corex.aiqia.de/
├── public/ # Document Root
│ ├── index.php # Einstiegspunkt
│ └── assets/ # CSS, JS, Bilder
├── src/
│ ├── Config/ # Routes.php, Constants.php
│ ├── Contracts/ # CssPartInterface
│ ├── Controllers/ # Auth, Content, News, Media, Mls, Settings…
│ ├── Core/ # Router, Database, Security, Env, PageRenderer…
│ ├── Helpers/ # SettingsSanitizer
│ ├── Models/ # SiteSettings, FooterManager…
│ ├── Repositories/ # DesignSettingsRepository
│ └── Services/ # Seo, Language, Css, Design, Hero, Logo…
│ └── Parts/ # NaviCssGenerator, ContactCssGenerator
├── lang/
│ ├── de/ # Deutsche Sprachdateien (Fallback)
│ └── en/ # Englische Sprachdateien
├── views/
│ ├── index.php # View-Dispatcher
│ ├── admin/ # Admin-Bereich
│ │ ├── parts/ # Header, Footer, Sidebar
│ │ └── *.php # Admin-Seiten
│ ├── blocks/ # CMS-Block-Views
│ ├── content/ # Frontend-Seiten
│ └── parts/ # header, footer, nav
├── database/
│ └── migrations/ # SQL-Migrations
├── .env # APP_BASE, DB_*, APP_KEY
└── CHANGELOG.md
Compatibility
Apache 2.4
Supported
Nginx
Supported
LiteSpeed
Supported
PHP 8.1
Supported
PHP 8.2
Supported
PHP 8.3
Supported
MariaDB 10.4+
Supported
MySQL 8.0+
Supported
Shared Hosting
Supported
VPS / Dedicated
Supported
Docker
Supported
PHP < 8.1
Not supported
Windows IIS
Not tested
All versions, new features and bug fixes of coreX at a glance. → Changelog