Logo

🛒 PayPal Shop

Branchenverzeichnis - Lokales Firmenverzeichnis

Branchenverzeichnis - Lokales Firmenverzeichnis

## 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