From 01656ac67d3af07f487ab68c1a517d3386b64154 Mon Sep 17 00:00:00 2001 From: Magicpotter Date: Wed, 7 Jan 2026 15:48:49 +0100 Subject: [PATCH 1/3] Readme aktulisiert --- README.md | 94 +++++++++++++++++++++++++++++-------------------------- 1 file changed, 50 insertions(+), 44 deletions(-) diff --git a/README.md b/README.md index 0165a77..e2f0be4 100644 --- a/README.md +++ b/README.md @@ -1,59 +1,65 @@ -

Laravel Logo

+# Fitnessblog (Laravel) -

-Build Status -Total Downloads -Latest Stable Version -License -

+[![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) -## About Laravel +Professionelle Blog-Plattform auf Basis von Laravel mit Fokus auf Fitness-/Lifestyle-Content. Enthält Beitragsverwaltung, Medien-Uploads, Kategorien/Tags und typische Blog-Features. -Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experience to be truly fulfilling. Laravel takes the pain out of development by easing common tasks used in many web projects, such as: +> Hinweis: Diese README ist als professionelle Vorlage gedacht. Ersetze Platzhalter (Domain, Versionen, Features) nach Bedarf. -- [Simple, fast routing engine](https://laravel.com/docs/routing). -- [Powerful dependency injection container](https://laravel.com/docs/container). -- Multiple back-ends for [session](https://laravel.com/docs/session) and [cache](https://laravel.com/docs/cache) storage. -- Expressive, intuitive [database ORM](https://laravel.com/docs/eloquent). -- Database agnostic [schema migrations](https://laravel.com/docs/migrations). -- [Robust background job processing](https://laravel.com/docs/queues). -- [Real-time event broadcasting](https://laravel.com/docs/broadcasting). +--- -Laravel is accessible, powerful, and provides tools required for large, robust applications. +## 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) -## Learning Laravel +--- -Laravel has the most extensive and thorough [documentation](https://laravel.com/docs) and video tutorial library of all modern web application frameworks, making it a breeze to get started with the framework. You can also check out [Laravel Learn](https://laravel.com/learn), where you will be guided through building a modern Laravel application. +## 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) -If you don't feel like reading, [Laracasts](https://laracasts.com) can help. Laracasts contains thousands of video tutorials on a range of topics including Laravel, modern PHP, unit testing, and JavaScript. Boost your skills by digging into our comprehensive video library. +> Ergänze hier deine konkreten Features (z.B. Kommentare, Newsletter, CKEditor, Rollen/Rechte, API, etc.). -## Laravel Sponsors +--- -We would like to extend our thanks to the following sponsors for funding Laravel development. If you are interested in becoming a sponsor, please visit the [Laravel Partners program](https://partners.laravel.com). +## 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 -### Premium Partners +--- -- **[Vehikl](https://vehikl.com)** -- **[Tighten Co.](https://tighten.co)** -- **[Kirschbaum Development Group](https://kirschbaumdevelopment.com)** -- **[64 Robots](https://64robots.com)** -- **[Curotec](https://www.curotec.com/services/technologies/laravel)** -- **[DevSquad](https://devsquad.com/hire-laravel-developers)** -- **[Redberry](https://redberry.international/laravel-development)** -- **[Active Logic](https://activelogic.com)** +## Voraussetzungen +- PHP (inkl. typischer Extensions für Laravel) +- Composer +- Node.js + npm +- MySQL/MariaDB (oder andere DB) +- Git -## Contributing +--- -Thank you for considering contributing to the Laravel framework! The contribution guide can be found in the [Laravel documentation](https://laravel.com/docs/contributions). +## Installation (lokal) -## Code of Conduct - -In order to ensure that the Laravel community is welcoming to all, please review and abide by the [Code of Conduct](https://laravel.com/docs/contributions#code-of-conduct). - -## Security Vulnerabilities - -If you discover a security vulnerability within Laravel, please send an e-mail to Taylor Otwell via [taylor@laravel.com](mailto:taylor@laravel.com). All security vulnerabilities will be promptly addressed. - -## License - -The Laravel framework is open-sourced software licensed under the [MIT license](https://opensource.org/licenses/MIT). +### 1) Repository klonen +```bash +git clone +cd From 6b81f91959c5fa6dc33ec9f12293336f40dbb700 Mon Sep 17 00:00:00 2001 From: Magicpotter Date: Wed, 7 Jan 2026 16:01:31 +0100 Subject: [PATCH 2/3] README.md aktualisiert --- README.md | 119 ++++++++++++++++++++++++++++++++---------------------- 1 file changed, 70 insertions(+), 49 deletions(-) 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 From 4af606bcc1b85015f847f6c5032701adf3e7389d Mon Sep 17 00:00:00 2001 From: Magicpotter Date: Wed, 7 Jan 2026 16:04:55 +0100 Subject: [PATCH 3/3] README.md aktualisiert --- README.md | 179 ++++++++++++++++++++++++++++++------------------------ 1 file changed, 100 insertions(+), 79 deletions(-) diff --git a/README.md b/README.md index 9f631c4..17b144d 100644 --- a/README.md +++ b/README.md @@ -1,86 +1,107 @@ -chatgpt-agent % bash -lc cat /home/oai/share/report.md | sed -n '1,20p' - - -## Admin‑Zugang - - -chatgpt-agent % bash -lc cat /home/oai/share/report.md | sed -n '121,140p' - - -- Melde dich unter `/admin/login` an. Ein erster Admin‑Benutzer kann via `php artisan tinker` erstellt werden: - - -```php -\App\Models\User::create([ -'name' => 'Admin', -'username' => 'admin', -'email' => 'admin@example.com', -'password' => bcrypt('geheim'), -'status' => \App\UserStatus::Active, -]); -``` - - -- 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】. - - -## Deployment (Produktion) - - -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: - - -```bash -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. +# Fitnessblog +**Fitnessblog** ist ein Laravel-basiertes Blog-System für Fitness-/Lifestyle-Content mit öffentlichem Frontend und einem Admin-Backend zur Verwaltung von Beiträgen, Kategorien, Slider und Website-Einstellungen. --- +## Überblick -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. +Das Projekt stellt eine klassische Blog-Struktur bereit: +- **Frontend**: Blog-Startseite, Beiträge nach Kategorien/Tags/Autoren, Suche, Kontaktformular +- **Backend (Admin)**: Login/Passwort-Reset, Dashboard, Beitragsverwaltung, Kategorien, Slider, Settings, Newsletter-Versand -chatgpt-agent % \ No newline at end of file +--- + +## Tech-Stack + +### Backend +- **Framework:** Laravel (Projekt nutzt moderne Laravel-Struktur) +- **Sprache:** PHP (empfohlen **PHP >= 8.2**) +- **Datenbank:** MySQL/MariaDB (alternativ PostgreSQL/SQLite möglich) +- **E-Mail:** Custom SMTP-Konfiguration über `CMAIL_*` (für Kontakt & Newsletter) +- **Queues/Jobs:** Newsletter-Versand erfolgt über Queue-Jobs (falls Worker aktiv) + +### Frontend +- **Build Tool:** Vite +- **CSS:** Tailwind CSS +- **HTTP/AJAX:** Axios + +### Verwendete Pakete (Auszug) +- **SEO:** `artesaos/seotools` (Meta-Tags, OpenGraph, Twitter Cards) +- **Sitemap:** `spatie/laravel-sitemap` (Sitemap-Generierung) +- **Slugs:** `cviebrock/eloquent-sluggable` (sprechende URLs) +- **Bildbearbeitung:** `intervention/image` (Thumbnails/Resizes) +- **Dateimanager:** `barryvdh/laravel-elfinder` (Medienverwaltung) +- **UI:** Livewire (interaktive Komponenten) +- **Mail:** `phpmailer/phpmailer` +- **Image Crop:** `sawastacks/kropify-laravel` (z.B. Profil/Logo-Zuschnitt) + +--- + +## Features + +### Frontend (öffentlich) +- **Startseite** mit SEO-Informationen aus den Einstellungen +- **Kategorien-Ansicht** (Posts nach Kategorie) +- **Autor-Seiten** (Posts nach Autor) +- **Tag-Seiten** (Posts nach Tags) +- **Suche** nach Beiträgen +- **Startseiten-Slider** (Slides aus dem Backend) +- **Sidebar-Widgets** + - Neueste Beiträge + - Kategorien mit Beitragsanzahl + - Tag-Übersicht +- **Lesedauer-Anzeige** (automatisch berechnet) +- **Kontaktformular** (`/contact`) inkl. Mailversand +- **Sitemap** (`/sitemap.xml`) + +### Admin-Backend +- **Login** und **Passwort-Reset** (Token-basiert) +- **Dashboard** mit Kennzahlen (Posts/Tags/Newsletter-Abonnenten) +- **Beitragsverwaltung** + - Erstellen/Bearbeiten/Löschen + - Bild-Upload pro Beitrag + - Automatische Bild-Generierung: + - Thumbnail (z.B. 250×250) + - Resized Preview (z.B. 512×320) + - SEO-Felder (Meta Keywords/Description, strukturierte Daten) + - Sichtbarkeit (Draft/Published) +- **Kategorien & Unterkategorien** +- **Slider-Verwaltung** (Bilder/Reihenfolge/Status) +- **Settings** + - Seitentitel / Meta-Description / Keywords + - Site-E-Mail + - Social Links + - Logo & Favicon Upload +- **Profil** + - Profilbild Upload (ersetzt vorheriges Bild) +- **Newsletter** + - Abonnenten-Verwaltung + - Optionaler Versand an alle Abonnenten beim Veröffentlichen eines Posts + +--- + +## Installation (lokal) + +### Voraussetzungen +- PHP >= 8.2 +- Composer +- Node.js (LTS) + npm +- Datenbank (z.B. MariaDB/MySQL) +- Git + +### Setup +```bash +git clone ssh://git@git.magicpotter.at:2222/Magicpotter/Fitnessblog.git +cd Fitnessblog + +composer install +npm install + +php artisan key:generate +php artisan migrate +php artisan storage:link + +npm run dev +# oder: npm run build