# Fonics Marketplace CMS – NextDesign Edition

## Enthalten
- Das Design aus der hochgeladenen NextDesign.html (Farben, Sidebar, Hero, Typografie, mobile Navigation)
- PHP-8.2-/PDO-MySQL-Grundsystem mit Registrierung, Login, Artikeln, Suchfunktion, Auktionen und Geboten
- Sofort-Kaufen als **unbezahlte Reservierung** (kein echter Checkout)
- Admin-Dashboard mit Kennzahlen und Artikelmoderation
- Originaldatei unter `NextDesign-Original.html`

## Debian 12 Installation
```bash
apt update
apt install -y apache2 mariadb-server php8.2 libapache2-mod-php8.2 php8.2-mysql unzip
sudo mariadb < database/schema.sql
sudo mariadb
```
Danach in MariaDB:
```sql
CREATE USER 'fonics_app'@'127.0.0.1' IDENTIFIED BY 'EIN_LANGES_SICHERES_PASSWORT';
GRANT SELECT, INSERT, UPDATE, DELETE ON fonics_marketplace.* TO 'fonics_app'@'127.0.0.1';
FLUSH PRIVILEGES;
```
```bash
cp config.example.php config.php
nano config.php
```
Datenbankpasswort eintragen. Für Apache als DocumentRoot ausschließlich `/var/www/fonics-marketplace/public` setzen. Beispiel:
```apache
<VirtualHost *:80>
  ServerName market.example.com
  DocumentRoot /var/www/fonics-marketplace/public
  <Directory /var/www/fonics-marketplace/public>
    Require all granted
    AllowOverride None
    FallbackResource /index.php
  </Directory>
</VirtualHost>
```
Anschließend HTTPS über Certbot aktivieren. Dateien im Projektverzeichnis außerhalb von `public` nicht öffentlich freigeben.

### Admin einrichten
Registriere einen Benutzer und setze dessen Rolle **einmalig manuell** in MariaDB:
```sql
UPDATE users SET role='admin' WHERE email='DEINE-ADMIN-EMAIL';
```
Nur für das eigene, geprüfte Konto durchführen. Adminzugang danach unter `/?page=admin`.

## Einschränkungen
Dies ist eine **funktionsfähige Entwicklungsbasis, kein vollständiger produktionsreifer Marktplatz**. Zahlungsanbieter, echte Verkäuferauszahlungen, Versand, E-Mail-Verifikation, Passwort-Reset, 2FA, automatische Auktionsabschlüsse, rechtliche Pflichtprozesse, vollständige Adminmodule, Betrugsprävention und Rate-Limits sind noch nicht implementiert. Auktionen werden angezeigt und Gebote angenommen, aber Gewinner werden nicht automatisch ermittelt. Keine echten Zahlungen entgegennehmen oder öffentlich als fertigen Marktplatz betreiben. Externe Bilder per HTTPS-URL sind nicht serverseitig verifiziert.

## Version 2 – erweitertes Admin-Panel

Die NextDesign-Oberfläche bleibt erhalten. Neu sind Admin-Tabs für Dashboard, Benutzerstatus, Artikelmoderation, Auktionsübersicht, Bestellstatus, Meldungen, Support-Tickets, Gutscheine, CMS-Seiten, Werbekampagnen, Einstellungen und Auditlog. Benutzer erhalten außerdem eine Merkliste und ein einfaches internes Nachrichtensystem.

**Upgrade einer bestehenden Installation:** Vorher ein Datenbankbackup anfertigen und dann `mariadb fonics_marketplace < database/upgrade_v2.sql` ausführen. Bei einer Neuinstallation zuerst `database/schema.sql` und danach `database/upgrade_v2.sql` importieren.

**Funktionsgrenzen:** Gutscheine, Werbeanzeigen und CMS-Seiten haben derzeit Datenbank- und Admin-Statusverwaltung, aber noch keinen vollständigen Erstellungseditor oder die vollständige Integration in Checkout/Frontend. Das Bestellmodul ist weiterhin eine Reservierung ohne Zahlungsabwicklung. Es gibt noch keine echten Auszahlungen, Versandlabel, automatische Auktionsabschlüsse, Maximalgebote, E-Mail-Bestätigung, 2FA oder vollständige DSGVO-/DSA-Prozesse. Admin-Bestellstatusänderungen sind manuelle Demo-Statusänderungen, keine Zahlungsbestätigung. Nicht für reale Zahlungen oder öffentlichen Produktivbetrieb verwenden.
