Mustafa.
Zurück zu allen Projekten

Urla Shoes — Multifeature Salesforce-Plattform-Sandbox

Ein Multifeature Salesforce-Sandbox: KI-gestützte Routensicherheit (Google Maps + OpenWeather + Einstein), Contact-Enrichment via Nationalize.io, Lead-Queue-Routing mit Platform Events, Loan-Sync mit Retry-Scheduler, eine Reseller-Matching-Engine und ein Custom-Setting-basiertes API-Key-Layer, das Secrets aus dem Code hält.

Jahr
2024
Rolle
Salesforce Developer
Technologien
Apex (Queueable, Schedulable)Lightning Web ComponentsVisualforce (bridge)Salesforce EinsteinPrompt TemplatesConnectApi.EinsteinLLMTrigger Framework (Kevin O'Hara)Custom Settings (hierarchical)Platform EventsCustom ObjectsHttpCalloutMockRemote Site Settings

Eckdaten

  • Route-Safety-LWC — Google Maps + parallele 5-Wegpunkt-OpenWeather + Einstein-Prompt-Template-KI-Urteil auf einem Screen
  • Contact-Enrichment-Queueable — Nationalize.io mit HttpCalloutMock über 6 Szenarien (Erfolg, leer, HTTP 500, fehlender FirstName, Bulk-10, Parser-Test)
  • Lead-Queue-Routing — scheduled Batch + Lead_Shift_Event__e Platform Event + LWC-Dashboard für schichtbasierte Verteilung
  • Loan-Sync-Pipeline — Loan__c + Loan_Sync_Log__c Custom Objects + Opportunity-getriggerter Sync + Retry-Scheduler mit Audit-Logging
  • Reseller-Matching-Engine — mehrkriterielles Scoring + Opportunity-Trigger + LWC-Tier-Badge
  • Plattform-Foundations — erweiterbares Kevin-O'Hara-TriggerHandler-Framework, Round-Robin-Task-Zuweisung, SLA-Ablauf-Automatisierung
  • Senior-Pattern: API-Keys aus API_Config__c Custom Setting via ApiKeyService Apex-Helper — keine Secrets im Code

Das Problem

Ich brauchte ein einzelnes Salesforce-Projekt, das Plattform-Breite demonstriert — mehrere Integrations-Patterns, Async-Apex-Varianten, KI-Integration, eigene Datenmodelle und die Secrets-aus-dem-Code-Disziplin, die Produktions-Orgs verlangen. Eine Single-Feature-Demo würde nicht zeigen, wie Engineering-Entscheidungen über eine Org hinweg komponieren.

Route Safety LWC — Essen to Berlin route, 5-waypoint weather, Einstein AI safety verdict

Architektur

Das Headline-Feature ist die routeWeather-LWC — eine Drei-Integrations-Komposition. Sie hostet eine Visualforce-Seite (RouteMapPage) im iframe (der einzige Weg, Google Maps unter Lightning Web Security zu laden) und kommuniziert via postMessage: Die LWC sendet DRAW_ROUTE, die Seite antwortet mit ROUTE_DONE plus Zielkoordinaten. Die LWC berechnet dann fünf Wegpunkte (Start, 25 %, Mitte, 75 %, Ziel) und feuert fünf parallele Fetches gegen OpenWeatherMap via Promise.all. Sobald das Wetter ankommt, POSTet die LWC ein schlankes Sechs-Felder-pro-Wegpunkt-Payload an den Apex-Service RouteWeatherAnalysisService, der die Daten als Text formatiert und ConnectApi.EinsteinLLM.generateMessagesForPromptTemplate('RouteWeatherAnalysis', input) aufruft. Die GPT-4o-mini-Antwort wird in einer farbcodierten Karte gerendert per Schlagwort-Klassifizierer (storm/ice/hazard → rot; caution/careful → gelb; sonst grün). Drumherum sitzt ein Lead-Queue-Routing-System (LeadQueueScheduler scheduled Batch + Lead_Shift_Event__e Platform Event + leadShiftDashboard LWC), eine Loan-Sync-Pipeline (Loan__c + Loan_Sync_Log__c Custom Objects mit Retry-Scheduler und Audit-Logging), eine Reseller-Matching-Engine (mehrkriterieller Scoring-Service + Opportunity-Trigger + resellerTierBadge LWC) und ein erweiterbares TriggerHandler-Framework, von dem jeder Trigger in der Org erbt.

Der Ansatz

Drei Prinzipien laufen durch jedes Feature. Erstens: Async by default — jeder externe Callout nutzt Queueable oder Schedulable, keine synchronen Trigger-Callouts, keine Governor-Überraschungen unter Last. Zweitens: Secrets aus dem Code — sowohl der Google-Maps- als auch der OpenWeather-API-Key leben in einer API_Config__c-Hierarchical-Custom-Setting, zur Laufzeit gelesen via ApiKeyService Apex-Klasse (Instance-Property für VF, @AuraEnabled-cacheable-Methoden für LWC). Die Visualforce-Seite rendert den Maps-Key via {!JSENCODE(mapsApiKey)}, sodass er nie als Literal im Code erscheint; die LWC awaitet getOpenWeatherApiKey() im connectedCallback. ApiKeyServiceTest liefert 100 % Coverage. Drittens: Jeder Trigger erbt vom selben Kevin-O'Hara-TriggerHandler — Rekursionsschutz, Bypass-Mechanismus, testbare Logik — sodass Routing, Sync, Matching und Contact-Enrichment unter Bulk-Last konsistent verhalten.

Das Ergebnis

Ein Salesforce-Referenz-Sandbox, das ein Recruiter klonen, deployen, zwei API-Keys in Setup → Custom Settings → API Config → Manage einfügen und End-to-End laufen sehen kann. Sechs Features über LWC, Apex, Visualforce, Custom Objects, Platform Events, scheduled Batches und Einstein-KI — mit den Senior-Engineering-Details (Key-Management via Custom Setting, Trigger-Framework, Async-by-Default, gemockte Tests) im Diff sichtbar. Dieselben Patterns übertragen sich direkt auf die Multifeature-Salesforce-Orgs, die mittlere bis große DACH-Unternehmen tatsächlich betreiben.

Externe Integrationen