Definiert eine Referenzarchitektur für eine Jobbörse mit separaten Grenzen für Stellenangebote, Arbeitgeber, Kandidaten, Suche, Bewerbungen, Moderation, Kommunikation und Analytik sowie den Identitäten und Ereignissen, die sie verbinden.
Paketstatus: Referenzkontext bereit zur menschlichen Überprüfung. Der Vertrag und die Testszenarien sind abgeschlossen, es wird jedoch nicht behauptet, dass eine übernehmende Implementierung diese bestanden hat.
Entscheidung
Verwenden Sie einen transaktionalen Kern für Konten, Stellenangebote und Bewerbungen; bauen Sie die Suche als versionierte Projektion und die Kommunikation als idempotente Reaktionen auf. Halten Sie die Sichtbarkeitsrichtlinien für Arbeitgeber und Kandidaten zentralisiert und wenden Sie sie auf Bereitstellung, Suche, Export und Analytik an.
Umfang
- Akteure, Kernaggregate, Modulgrenzen, Hauptarbeitsabläufe, Suchprojektion, Moderation, Bewerbungen, Benachrichtigungen, Analytik, Speicherung, Sicherheit und Betrieb.
- Ein mehrseitiger Job-Marktplatz von der Veröffentlichung der Stellenanzeige bis zur Bewerbung des Kandidaten.
- Referenzgrenzen, die in einem modularen Monolithen beginnen und sich aus Erkenntnissen weiterentwickeln können.
Außerhalb dieses Blocks
- Länderspezifisches Arbeitsrecht, Gehaltsabrechnung, Hintergrundprüfungen oder ein vollständiges Empfehlungssystem.
- Weitergabe personenbezogener Kandidatendaten nur weil ein Arbeitgeberkonto existiert.
Vertrag
- Kandidat, Arbeitgeberorganisation/-mitglied, Stellenangebot, Lebenslauf/Profil, Bewerbung, Konversation, Moderationsfall und Einwilligung/Präferenz haben jeweils eigene stabile Identitäten.
- Die Veröffentlichung eines Stellenangebots erfordert Eigentum, Inhaltsvalidierung, Moderationsrichtlinienstatus, Standort-/Remote-Modell, aktives Intervall und Sichtbarkeit.
- Die Suche indexiert nur berechtigte aktuelle Projektionen und trägt Quellversion, Sichtbarkeit und Moderationsstatus.
- Die Erstellung einer Bewerbung erstellt einen Schnappschuss des Stellenangebots und der Kandidatenabsicht, die für die spätere Interpretation benötigt werden, und ist idempotent.
- Der Arbeitgeberzugriff auf Kandidatendaten folgt der Beziehung Stellenangebot/Bewerbung und expliziter Produktpolitik, mit Auditierung und Widerruf.
- Nachrichten und Analytik konsumieren bestätigte Ereignisse und können nicht zur Autorität für den Zustand von Bewerbung oder Stellenangebot werden.
Implementierungshinweise
- Vorgeschlagene Module: identity, organizations, candidate-profile, vacancy, applications, search-projection, moderation, communications und analytics.
- Verwenden Sie eine Outbox aus transaktionalen Modulen und eine idempotente Inbox in Projektionen.
- Behandeln Sie Lebensläufe und Anhänge als private Objekte mit separaten Dateiversionen und Zugriffskontrollen.
- Versionieren Sie Taxonomien für Beruf, Fähigkeiten, Standort, Beschäftigungsart und Gehaltswährung, ohne historische Bewerbungen umzuschreiben.
Fehlerbehandlung und Schutzmaßnahmen
- Wenn die Suchprojektion verzögert ist, zeigen Sie ein Frischeverhalten an und behalten Sie den direkten Stellenangebotszustand als autoritativ bei.
- Wenn die Moderation ein Stellenangebot zurückzieht, entfernen Sie es umgehend aus der Entdeckung, während die autorisierte Bewerbungshistorie erhalten bleibt.
- Wenn ein Ereignis dupliziert oder neu geordnet wird, verhindern Projektionversionsschutzmechanismen Rückschritte.
- Wenn die Arbeitgebermitgliedschaft widerrufen wird, werden zwischengespeicherter, exportierter, Nachrichten- und Direktobjektzugriff gemäß der Widerrufspolitik verweigert.
Verifikation und Betrieb
- Messen Sie Veröffentlichungs-Vorlaufzeit, Verzögerung von Berechtigung bis Indexierung, Sucherfolg, Bewerbungsausführung, doppelte Bewerbungen, Moderationsaktionen, unautorisierte Ablehnungen, Nachrichtenlieferung und Projektionabgleich.
- Führen Sie synthetische Isolationstests für Kandidaten/Arbeitgeber und Suchberechtigungsprüfungen durch.
- Überprüfen Sie die Modulkopplung vor der Extraktion von Services.
Die ausführbar aussehenden Beispiele in diesem Paket sind Fixtures und Akzeptanzverträge. Führen Sie
python tools/validate.py vom Wurzelverzeichnis der Sammlung aus, um Paketstruktur und Metadaten zu prüfen; implementieren und führen Sie dann die Szenarien im Ziel-Repository aus.
Annahmen zur Übernahme
- Namen und numerische Werte in
example.yamlsind ein Übernahmeprofil, keine universellen Standardwerte. - Das übernehmende Team muss Akteure, Datenklassen, Fehlerlexikon und Eigentum auf sein System abbilden.
Referenzen
- Es ist keine externe normative Quelle erforderlich; dieses Paket definiert eine Projektentscheidung.