diff --git a/README.md b/README.md index e2f0be4..9f631c4 100644 --- a/README.md +++ b/README.md @@ -1,65 +1,86 @@ -# Fitnessblog (Laravel) +chatgpt-agent % bash -lc cat /home/oai/share/report.md | sed -n '1,20p' -[![Laravel](https://img.shields.io/badge/Laravel-Framework-red)](#) -[![PHP](https://img.shields.io/badge/PHP-%3E%3D%208.1-777bb4)](#) -[![License](https://img.shields.io/badge/License-MIT-green)](#lizenz) -Professionelle Blog-Plattform auf Basis von Laravel mit Fokus auf Fitness-/Lifestyle-Content. Enthält Beitragsverwaltung, Medien-Uploads, Kategorien/Tags und typische Blog-Features. +## Admin‑Zugang -> Hinweis: Diese README ist als professionelle Vorlage gedacht. Ersetze Platzhalter (Domain, Versionen, Features) nach Bedarf. ---- +chatgpt-agent % bash -lc cat /home/oai/share/report.md | sed -n '121,140p' -## Inhalt -- [Features](#features) -- [Tech-Stack](#tech-stack) -- [Voraussetzungen](#voraussetzungen) -- [Installation (lokal)](#installation-lokal) -- [Konfiguration](#konfiguration) -- [Datenbank & Migrationen](#datenbank--migrationen) -- [Build & Assets](#build--assets) -- [Tests](#tests) -- [Deployment](#deployment) -- [Troubleshooting](#troubleshooting) -- [Sicherheit](#sicherheit) -- [Contributing](#contributing) -- [Lizenz](#lizenz) ---- +- Melde dich unter `/admin/login` an. Ein erster Admin‑Benutzer kann via `php artisan tinker` erstellt werden: -## Features -- Beiträge erstellen/bearbeiten/veröffentlichen (Draft/Published) -- Kategorien & Tags -- Bild-/Medienverwaltung (Uploads) -- Suchfunktion (optional) -- SEO-Basics (Meta-Tags, saubere URLs) -- Admin-Bereich (optional / je nach Implementierung) -> Ergänze hier deine konkreten Features (z.B. Kommentare, Newsletter, CKEditor, Rollen/Rechte, API, etc.). +```php +\App\Models\User::create([ +'name' => 'Admin', +'username' => 'admin', +'email' => 'admin@example.com', +'password' => bcrypt('geheim'), +'status' => \App\UserStatus::Active, +]); +``` ---- -## Tech-Stack -- **Backend:** Laravel -- **PHP:** >= 8.1 (empfohlen 8.2/8.3 je nach Server) -- **Datenbank:** MySQL/MariaDB (alternativ SQLite/PostgreSQL) -- **Frontend:** Blade / Vite (je nach Setup) -- **Package Manager:** Composer, npm +- Nach dem Login stehen Dashboard, Beitragsverwaltung, Kategorien, Slider und Einstellungen zur Verfügung【260995794809889†L45-L90】. Beachte, dass nur Benutzer mit der Rolle *SuperAdmin* Einstellungen ändern dürfen【716868813219956†L69-L79】. ---- -## Voraussetzungen -- PHP (inkl. typischer Extensions für Laravel) -- Composer -- Node.js + npm -- MySQL/MariaDB (oder andere DB) -- Git +## Deployment (Produktion) ---- -## Installation (lokal) +1. **Server vorbereiten** – Installiere PHP ≥ 8.2, Composer, Node.js und einen Webserver (Apache/Nginx). Konfiguriere den Webserver so, dass das `public`‑Verzeichnis als Root dient und `index.php` als Fallback‑Routenhandler. + + +2. **Umgebungsvariablen setzen** – Setze `APP_ENV=production` und `APP_DEBUG=false`. Passe `APP_URL` an deine Domain an und konfiguriere die Mail‑ und Datenbankvariablen. + + +chatgpt-agent % bash -lc cat /home/oai/share/report.md | sed -n '141,160p' + + +3. **Caches & Optimierung** – Führe vor jedem Release aus: + -### 1) Repository klonen ```bash -git clone -cd +php artisan config:cache +php artisan route:cache +php artisan view:cache +php artisan optimize +npm run build +``` + + +4. **Jobs & Cron** – Wenn das Projekt Queue‑Jobs nutzt (z. B. Newsletter‑Versand), richte einen Queue‑Worker via Supervisor oder systemd ein und plane den Scheduler (`php artisan schedule:run`) per Cron. + + +## Troubleshooting & Tipps + + +- **Lange Dateinamen unter Windows** – Git kann unter Windows Probleme mit sehr langen Dateipfaden haben (z. B. bei hochgeladenen Bildern). Aktiviere lange Pfade mit `git config --global core.longpaths true`. Benenne Dateien möglichst kurz, wenn beim Commit Fehler wie „Filename too long“ auftreten. +- **Uploads und Rechte** – Achte darauf, dass `storage/` und `bootstrap/cache/` für den Webserver schreibbar sind (Berechtigungen 775 oder 777 je nach Setup). Profilbilder und Logos werden direkt im `public/images`‑Verzeichnis gespeichert【716868813219956†L98-L148】【716868813219956†L169-L178】. +- **Newsletter** – Abonnenten erhalten nur dann eine E‑Mail, wenn ein Post als sichtbar (`visibility = 1`) markiert wird【277929543452449†L347-L349】【277929543452449†L360-L381】. Überprüfe, ob dein Mailserver korrekt konfiguriert ist und Mails versendet werden. +- **SEO** – Passe in den Einstellungen Titel, Meta‑Beschreibung und Keywords an dein Projekt an; sie werden auf der Startseite und den Kategorieseiten verwendet【490713492725882†L23-L47】. Aktualisiere auch die Social‑Links, damit Buttons korrekt funktionieren【587727673959283†L34-L50】. + + + + +chatgpt-agent % bash -lc cat /home/oai/share/report.md | sed -n '161,180p' +## Sicherheitshinweise + + +- **Schütze geheime Schlüssel** – Die `.env`‑Datei sollte nie in das Repository eingecheckt werden; stattdessen umgebungsabhängig auf dem Server hinterlegt werden. API‑Schlüssel und Passwörter dürfen nicht in der Versionskontrolle landen. +- **Updates** – Halte Laravel und die verwendeten Pakete aktuell (`composer update` und `npm update`). Teste Updates in einer Staging‑Umgebung, bevor du sie produktiv einsetzt. +- **Backups** – Lege regelmäßige Datenbank‑ und Dateibackups an, insbesondere für `storage/app/public` und die Datenbank. + + +## Lizenz + + +Die Anwendung basiert auf dem Laravel‑Skeleton und steht unter der **MIT‑Lizenz**【156200196044006†L53-L58】. Weitere Details findest du in der `LICENSE`‑Datei des Projekts. + + +--- + + +Diese Dokumentation fasst den aktuellen Stand des Projekts zum **7. Januar 2026** zusammen. Bei Änderungen im Repository sollten die genannten Versionsanforderungen und Funktionen aktualisiert werden. Bei offenen Fragen oder Problemen können Issues im Gitea‑Repository erstellt werden. + + +chatgpt-agent % \ No newline at end of file