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
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
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
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
Description
Languages
JavaScript
77.5%
CSS
10.5%
Blade
4.6%
HTML
4.2%
PHP
3%
Other
0.2%