# 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