## Projektbeschreibung
Ein modernes, benutzerfreundliches Branchenverzeichnis zum Eintragen und Finden lokaler Unternehmen und Dienstleister. Mit Kategorien, Bewertungssystem, Alphabetischer Suche und Admin-Panel. Perfekt für lokale Communities, Städte oder Regionen.
## Hauptfunktionen
### Öffentlicher Bereich
- **Firmensuche** - Nach Name, Branche oder Ort suchen
- **Kategorien-Filter** - Nach Branchen filtern (Handwerk, Gastronomie, etc.)
- **Alphabet-Navigation** - Schnell nach Anfangsbuchstaben suchen
- **Detailansichten** - Vollständige Firmeninformationen
- **Bewertungssystem** - 5-Sterne-Bewertungen abgeben
- **Featured-Einträge** - Hervorgehobene Unternehmen
- **Responsive Design** - Funktioniert auf allen Geräten
### Eintrag-System
- **Kostenlose Einträge** - Unternehmen können sich selbst eintragen
- **Moderation** - Admin muss Einträge freischalten
- **Umfangreiche Daten** - Kontaktdaten, Beschreibung, Website
- **Kategorisierung** - Zuordnung zu Branchen
### Admin-Panel
- **Dashboard** - Statistiken auf einen Blick
- **Einträge-Verwaltung** - Freigeben, Bearbeiten, Löschen
- **Featured-Management** - Einträge hervorheben
- **Kategorien-Verwaltung** - Neue Branchen hinzufügen
- **Moderation** - Neue Einträge prüfen
## Technische Details
**Programmiersprache:** PHP 8.4
**Datenbank:** MySQL mit 3 Tabellen
**Sicherheit:** CSRF-Schutz, Bcrypt-Passwörter, PDO prepared statements
**Design:** Pastellfarben (Lila, Rosa, Hellblau)
**Tabellen-Präfix:** `dir_` (anpassbar bei Installation)
### Datenbankstruktur
- `dir_categories` - Kategorien/Branchen
- `dir_entries` - Firmeneinträge mit allen Daten
- `dir_admin` - Admin-Zugangsdaten
### Features im Detail
- **Rating-System** - Durchschnittsbewertung aus allen Votes
- **View-Counter** - Anzahl der Aufrufe tracken
- **Featured-System** - Hervorgehobene Einträge mit Badge
- **Slug-URLs** - SEO-freundliche Kategorie-Links
## Installation
1. Alle Dateien auf Webserver hochladen
2. `install.php` im Browser aufrufen
3. Datenbank-Zugangsdaten eingeben
4. Tabellen-Präfix festlegen (Empfehlung: `dir_`)
5. Admin-Account erstellen
6. Installation abschließen
7. `install.php` löschen
**Vorinstallierte Kategorien:**
- Handwerk
- Gastronomie
- Einzelhandel
- Dienstleistungen
- Gesundheit
- Auto & Verkehr
## Verwendung
### Firma eintragen
1. "Eintrag Hinzufügen" klicken
2. Kategorie auswählen
3. Firmendaten eingeben (Name, Adresse, Kontakt)
4. Optional: Beschreibung hinzufügen
5. Absenden
6. Warten auf Admin-Freigabe
### Firma suchen
1. Suchbegriff eingeben ODER
2. Kategorie wählen ODER
3. Buchstabe klicken
4. Firma in Liste finden
5. Details ansehen
### Firma bewerten
1. Detail-Seite aufrufen
2. Bewertung (1-5 Sterne) auswählen
3. Absenden
4. Bewertung wird in Durchschnitt eingerechnet
### Admin-Aufgaben
1. Admin-Panel öffnen
2. Neue Einträge freigeben
3. Bei Bedarf als "Featured" markieren
4. Spam/Fehler löschen
5. Kategorien verwalten
## Pastellfarben-Design
**Primär-Palette:**
- Lila: `#ba68c8`, `#9575cd`, `#7e57c2`
- Rosa: `#fce4ec`, `#f3e5f5`
- Hellblau: `#e1f5fe`
- Gelb (Featured): `#ffd54f`, `#ffb74d`
**Hover-Effekte:**
- Sanfte Transformationen
- Box-Shadows
- Farbverläufe
**Komponenten:**
- Abgerundete Ecken (border-radius: 12-20px)
- Sanfte Schatten
- Gradient-Buttons
- Badge-System für Status
## Einsatzgebiete
- **Lokale Portale** - Stadt- oder Gemeinde-Verzeichnisse
- **Regionen** - Landkreis-, Bezirks-Verzeichnisse
- **Branchen-Portale** - Spezifische Branchen (z.B. nur Handwerk)
- **Shopping-Meilen** - Einkaufsstraßen, Innenstädte
- **Gewerbegebiete** - Industrieparks, Business-Parks
- **Tourismus** - Hotels, Restaurants, Attraktionen
- **Communities** - Vereins-Verzeichnisse, Mitglieder-Datenbanken
## Beispiel-Kategorien
**Standard (vorinstalliert):**
- Handwerk
- Gastronomie
- Einzelhandel
- Dienstleistungen
- Gesundheit
- Auto & Verkehr
**Erweiterbar:**
- Immobilien
- Bildung & Schulung
- Beauty & Wellness
- Sport & Freizeit
- IT & Technologie
- Rechts & Finanzen
- Bau & Architektur
- Kultur & Events
## Systemanforderungen
- **Webserver** - Apache/Nginx mit PHP
- **PHP** - Version 8.0 oder höher
- **MySQL** - Version 5.7 oder höher
- **Speicherplatz** - 5 MB Webspace
- **Extensions** - PDO, session
## Dateien
- `install.php` - Installations-Wizard (nach Install löschen)
- `config.php` - Datenbank-Konfiguration (wird von install.php erstellt)
- `index.php` - Hauptseite mit Übersicht
- `detail.php` - Firmen-Detailseite mit Bewertung
- `submit.php` - Eintragsformular für Firmen
- `admin.php` - Admin-Panel
- `style.css` - Pastellfarben-Design
## Sicherheitsmerkmale
### Authentifizierung
- **Bcrypt-Hashing** - Sichere Admin-Passwörter
- **Session-Management** - HttpOnly, Secure Cookies
- **CSRF-Protection** - Token-Validierung
- **SQL-Injection-Schutz** - PDO prepared statements
### Datenvalidierung
- **XSS-Prevention** - htmlspecialchars auf Output
- **Input-Sanitization** - trim(), type casting
- **Required Fields** - Pflichtfelder-Validierung
### Admin-Bereich
- **Login-Schutz** - Nur autorisierte Zugriffe
- **Moderation** - Einträge vor Veröffentlichung prüfen
- **Lösch-Bestätigung** - Confirm-Dialog
## Best Practices
### Für Betreiber
- Regelmäßig Spam-Einträge löschen
- Kategorien sinnvoll strukturieren
- Featured-Einträge strategisch setzen
- Datenbank-Backups erstellen
- Einträge zeitnah freischalten
### Für Unternehmen
- Vollständige Daten angeben
- Aussagekräftige Beschreibung
- Aktuelle Kontaktdaten
- Kategorie richtig wählen
### SEO-Optimierung
- Slug-URLs für Kategorien
- Sprechende Firmennamen
- Meta-Tags ergänzen
- Sitemap generieren
- Schema.org Markup
## Erweiterungsideen
### Basis-Features
- **Bilder** - Firmenlogos, Galerie
- **Öffnungszeiten** - Strukturierte Anzeige
- **Karte** - Google Maps Integration
- **Social Media** - Links zu Social Profiles
- **Tags** - Zusätzliche Verschlagwortung
### Erweiterte Features
- **Kommentare** - Textuelle Bewertungen
- **Verifizierung** - Geprüfte Unternehmen
- **Premium-Listings** - Kostenpflichtige Hervorhebung
- **Multi-Standort** - Filialen verwalten
- **Import/Export** - CSV-Massenimport
- **API** - REST-Schnittstelle
### Premium-Features
- **Buchungssystem** - Termine online buchen
- **Gutscheine** - Rabattcodes anbieten
- **Statistiken** - Für Firmeneigentümer
- **Claim-System** - Einträge beanspruchen
- **Newsletter** - E-Mail-Benachrichtigungen
### Community-Features
- **Benutzer-Registrierung** - Accounts für Bewertungen
- **Favoriten** - Firmen merken
- **Empfehlungen** - "Ähnliche Firmen"
- **Vergleich** - Unternehmen vergleichen
## Kategorien-Management
### Neue Kategorie hinzufügen
1. Admin-Panel öffnen
2. Kategoriename eingeben
3. Optional: Beschreibung
4. "Hinzufügen" klicken
5. Slug wird automatisch generiert
### Kategorie löschen
- Nur möglich wenn keine Einträge zugeordnet
- Sonst: Erst Einträge verschieben/löschen
### Kategorien organisieren
- Alphabetisch sortiert
- Max. 15-20 Hauptkategorien empfohlen
- Bei Bedarf Unterkategorien hinzufügen
## Bewertungs-System
### Funktionsweise
- 5-Sterne-System (1-5)
- Durchschnitt aus allen Bewertungen
- Vote-Counter zeigt Anzahl
- Keine Löschung einzelner Bewertungen
### Anzeige
- Sterne in Übersicht
- Detaillierte Anzeige auf Detail-Seite
- Badge in Listen
- Sortierung nach Rating möglich
### Anti-Spam
- IP-Tracking implementieren (optional)
- Nur registrierte User (optional)
- Admin-Moderation (optional)
## Featured-System
### Verwendung
- Hervorhebung besonderer Einträge
- Gelber Border + Badge
- Höhere Sichtbarkeit
- Sortierung vor normalen Einträgen
### Einsatz
- Partner-Unternehmen
- Bezahlte Platzierungen
- Besonders empfehlenswert
- Neue/beliebte Einträge
## Statistiken
### Dashboard-Übersicht
- **Gesamt** - Alle Einträge
- **Aktiv** - Freigeschaltete Einträge
- **Warten** - Pending Einträge
- **Empfohlen** - Featured Einträge
### Zusätzliche Metriken (optional)
- Aufrufe pro Eintrag
- Durchschnittliche Bewertung
- Kategorien-Verteilung
- Neue Einträge pro Monat
## Wartung
### Regelmäßig
- Spam-Einträge entfernen
- Inaktive Firmen löschen
- Kategorien aufräumen
- Datenbank optimieren
### Bei Problemen
- PHP Error Log prüfen
- Datenbank-Verbindung testen
- Rechte überprüfen (755/644)
- config.php kontrollieren
### Optimierung
- Query-Cache aktivieren
- Indizes auf häufige Suchen
- Featured-Limit setzen
- Pagination bei vielen Einträgen
## Rechtliche Hinweise
⚠️ **Wichtig:**
- Impressumspflicht beachten
- Datenschutzerklärung erforderlich
- Bei kommerzieller Nutzung: AGB
- Verantwortung für Einträge klären
- DSGVO-Konformität sicherstellen
- Cookie-Hinweis (falls Tracking)
## Performance-Tipps
### Für viele Einträge (10.000+)
- Full-Text-Index auf Suche
- Pagination implementieren
- Lazy Loading für Bilder
- CDN für statische Assets
- Query-Optimierung
### Für hohen Traffic
- OPcache aktivieren
- MySQL Query Cache
- Memcached/Redis
- Load Balancing
- CDN-Integration
## Anpassungsmöglichkeiten
### Design
- Farben in style.css ändern
- Logo einbinden
- Layout anpassen
- Fonts austauschen
### Funktionen
- Pflichtfelder anpassen
- Kategorien vordefinieren
- Bewertungssystem erweitern
- Featured-Logik ändern
### Texte
- Alle Texte in PHP-Dateien
- Einfach austauschbar
- Mehrsprachigkeit möglich
## Troubleshooting
**Problem:** Installation schlägt fehl
**Lösung:** DB-Zugangsdaten prüfen, Rechte kontrollieren
**Problem:** Einträge werden nicht angezeigt
**Lösung:** Admin muss Einträge freigeben (active=1)
**Problem:** Bewertungen funktionieren nicht
**Lösung:** CSRF-Token und Session prüfen
**Problem:** Design fehlerhaft
**Lösung:** style.css vorhanden? Cache leeren
## Lizenz
Freie Verwendung für private und kommerzielle Zwecke.
---
**Version:** 1.0
**Entwickelt:** 2025
**Sprache:** Deutsch
**PHP:** 8.4+
**Design:** Pastellfarben (Lila, Rosa, Hellblau)
**Tabellen-Präfix:** `dir_` (anpassbar)
**Kategorie:** Branchenverzeichnis / Business Directory