Technische Dokumentation
coreX Technische Daten
Architektur, Systemanforderungen und technische Spezifikationen des coreX CMS.
Technology Stack
PHP 8.2
Backend-Kern, typisiert mit declare(strict_types)
MariaDB / MySQL
Relationale DB, Zugriff via PDO mit Prepared Statements
Bootstrap 5
Responsives UI-Framework mit Custom Dark-Theme
Vanilla JS
Kein Build-Step, keine Frameworks – nur natives JS
AOS Library
Animate on Scroll – CSS-Einblend-Animationen
Quill / CodeMirror
WYSIWYG-Editor für Inhalte (Quill) & Code-Editor für Custom CSS/JS (CodeMirror)
Serveranforderungen
PHP-Version
≥ 8.1 (empfohlen: 8.2+)
Webserver
Apache 2.4+ oder Nginx
Datenbank
MariaDB 10.4+ oder MySQL 8.0+
PHP Extensions
pdo_mysql, mbstring, json, fileinfo, gd
Speicherplatz
min. 50 MB (ohne Mediathek)
PHP memory_limit
min. 128 MB
upload_max_filesize
Empfohlen: 32 MB+
SSL/HTTPS
Empfohlen für Produktivbetrieb
mod_rewrite
Erforderlich (Apache)
Composer
Nicht erforderlich
Entwicklungsumgebung
Lokal (empfohlen)
XAMPP, MAMP oder Laragon
PHP CLI
Für Spark-CLI Hilfsskripte
Editor
VS Code (empfohlen)
Datenbank-UI
phpMyAdmin / TablePlus
Browser DevTools
Chrome/Firefox für Debugging
.env Setup
APP_BASE, DB_* Variablen
coreX kommt ohne Composer, npm oder Build-Tools aus. Deployment = Dateien hochladen + DB importieren.
Architektur
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
Verzeichnisstruktur
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
Kompatibilität
Apache 2.4
Unterstützt
Nginx
Unterstützt
LiteSpeed
Unterstützt
PHP 8.1
Unterstützt
PHP 8.2
Unterstützt
PHP 8.3
Unterstützt
MariaDB 10.4+
Unterstützt
MySQL 8.0+
Unterstützt
Shared Hosting
Unterstützt
VPS / Dedicated
Unterstützt
Docker
Unterstützt
PHP < 8.1
Nicht unterstützt
Windows IIS
Nicht getestet
Alle Versionen, Neuerungen und Bugfixes von coreX im Überblick. → Changelog