Architektur

Technische Architekturübersicht der WXRK-Plattform.

Grundkonzepte

Das System unterscheidet zwei Schlüsselentitäten:

EntitätSchichtBeschreibung
BenutzerAuth-SchichtDjango-Authentifizierungseintrag für Login und Sessions
KandidatDomain-SchichtCandidateProfile speichert CV-Daten, MBTI-Bewertungen und Bewerbungen

Authentifizierungscode sagt „Benutzer"; Geschäftslogik sagt „Kandidat".

Technologie-Stack

SchichtTechnologie
FrontendNext.js 14 (React)
BackendDjango 4.x + Django REST Framework
DatenbankPostgreSQL
AufgabenverarbeitungCelery + Redis
PDF-GenerierungWeasyPrint
Auth (Frontend)NextAuth.js
Auth (Backend)simplejwt

Projektstruktur

wxrk/
├── wxrk_frontend/        # Next.js-Anwendung
│   └── app/
│       ├── (auth)/       # Authentifizierungsrouten
│       ├── (app)/        # Authentifizierte App-Routen
│       └── (marketing)/  # Öffentliche Marketing-Seiten
├── wxrk-backend/         # Django-Projekt
│   ├── profile_app/      # Kandidatenprofile & MBTI
│   ├── technical_review/ # Kompetenzen, Bewertungen, Projekte
│   ├── applications/     # Bewerbungen & Dokumente
│   └── dashboard/        # Zusammenfassungsstatistiken
└── docs/                 # Diese Dokumentation

Authentifizierungsablauf

Browser → NextAuth.js → POST /api/token/ → JWT Zugangs- + Refresh-Tokens
              Session-Speicherung
         Auto-Einbettung in API-Anfragen
            Auto-Refresh via simplejwt

CV-Generierungs-Workflow

Benutzer löst Generierung aus
Frontend ruft Generierungs-Endpoint auf
Django dispatcht asynchrone Celery-Aufgabe
Frontend fragt Status ab (WARTEND → GESTARTET → ERFOLGREICH)
Artefakt wird abgerufen und angezeigt

Backend-Anwendungen

profile_app

Verwaltet Kandidatenprofile und MBTI-Daten.

technical_review

Speichert Kompetenzen, Bewertungen und Projekterfahrungen. Die Haupt-Datenquelle für KI-Generierung.

applications

Verwaltet Bewerbungen und generierte Dokumente.

dashboard

Liefert Zusammenfassungsstatistiken und Aktivitäts-Feed.

Frontend-Zustandsverwaltung

  • Zustand — Globale Zustandsverwaltung
  • Axios — API-Aufrufe über einen typisierten Client

Verwandte Themen