# HelpYourNeighbour Projektübersicht

## Projektbeschreibung
HelpYourNeighbour ist ein Backend-System für eine Plattform zur Unterstützung von Nachbarn. Es ermöglicht Nutzern, Hilfeanfragen zu stellen und anzubieten, sowie Deals abzuschließen und Bewertungen auszutauschen.

## Hauptfunktionen
1. **Authentifizierung**: Registrierung und Login
2. **Hilfeanfragen**: Erstellen und Auflisten von Anfragen
3. **Angebote**: Erstellen, Verhandeln und Akzeptieren von Angeboten
4. **Bewertungssystem**: 2-14 Tage Verzögerung für Bewertungen
5. **Adressmanagement**: Änderung von Adressen per Briefbestätigung
6. **Kontaktdaten-Austausch**: Nach Deal abgeschlossen

## Datenbankschema
Das System verwendet ein MySQL-Datenbankschema mit folgenden Tabellen:
- users: Nutzerdaten
- help_requests: Hilfeanfragen
- offers: Angebote
- negotiations: Verhandlungen
- deals: Abschlüsse
- contact_exchange_requests: Kontaktanfragen
- addresses: Adressen
- address_change_requests: Adressänderungsanfragen
- reviews: Bewertungen

## Technologie Stack
- Backend: Node.js mit Express
- Datenbank: MySQL
- Authentifizierung: JWT
- Verschlüsselung: AES-256-GCM für sensible Daten
- Validierung: Zod
- Tests: Playwright (Integration), Custom (Smoke)

## Testumgebung
- Smoke-Tests funktionieren
- Integrationstests haben Playwright-Konfigurationsprobleme
- Docker-basierte Testumgebung vorhanden, aber keine lokale Docker-Installation

## Konfiguration
Die .env.example zeigt die Produktionskonfiguration mit externer Datenbank:
- DB_HOST=80.74.142.125
- DB_PORT=3306
- DB_NAME=helpyourneighbour
- DB_USER=helpyourneighbour
- DB_PASSWORD=change-me

## Nächste Schritte für Entwicklung
1. Lokale MySQL-Datenbank einrichten
2. Docker-Installation prüfen oder installieren
3. Testumgebung vollständig aufbauen
4. Integrationstests reparieren