helpyourneighbour/PROJECT_SUMMARY.md

1.8 KiB

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