-
Notifications
You must be signed in to change notification settings - Fork 0
Implementation Notes
This page provides a high-level overview of the technical implementation details for the Ambitious Zombies built on the Salesforce Platform. It is intended for developers and technical contributors working on this project.
The application leverages Salesforce core features, Apex, Lightning Web Components (LWC), and Flows to provide a seamless job application management experience.
| Layer | Description |
|---|---|
| Apex | Used for server-side logic, automations, integrations, and scheduled processes. |
| Flows | Used for point-and-click automations (status-based tasks, field updates, reminders). |
| LWC | Used for interactive UI components such as calculators and dynamic job listings. |
- Central object for tracking job applications.
- Related to Contact, Account, Event, and Task standard objects.
- Supports automation through Flows and Apex Triggers.
Type: Flow (Record-Triggered)
Purpose: Automatically create Tasks when the Status field changes.
Logic:
- One Flow handles status changes and creates a set of predefined Tasks for each status.
- Example: When status = Applied, create “Follow Up” and “Networking Call” tasks.
📘 See also: Flow: Job_Application_Status_Automation
Type: Apex Trigger
Purpose: Auto-assign the Primary Contact if blank.
Logic:
- Trigger runs
before insertandbefore update. - Sets the first related Contact or Contact from the related Company.
📘 Class: JobApplicationTriggerHandler.cls
📘 Test Class: JobApplicationTriggerHandler_Test.cls
Type: Apex + LWC
Purpose: Calculate taxes and estimate take-home pay.
Logic:
- Apex class performs tax calculations (federal, social security, medicare).
- LWC displays the results interactively.
📘 Apex Class: TakeHomePayCalculator.cls
📘 LWC Component: takeHomeCalculator
📘 API Reference: SmartAsset Calculator
Type: Apex Trigger / Validation
Purpose: Prevent double-booking interviews or scheduling on weekends.
Logic:
- Trigger on
Eventchecks overlappingStartDateTimeandEndDateTime. - Throws validation error if a conflict exists.
📘 Class: EventConflictValidator.cls
Type: Apex Scheduled Job
Purpose: Send reminder emails a day before interviews.
Logic:
- Scheduled class queries upcoming interviews.
- Sends templated email reminders to the user.
📘 Class: InterviewReminderScheduler.cls
📘 Related Flow: Email_Template_Reminder
Type: Apex Batch or Queueable
Purpose: Automatically close stale applications.
Logic:
- Checks for records with
Status != Closed/AcceptedandFollow-up Date > 30 days. - Updates the record and logs note.
📘 Class: StaleJobCleaner.cls
Type: Apex + LWC + Scheduled Job
Purpose: Retrieve Salesforce-related job listings via Jooble API.
Levels:
- Easy: Run manually via Anonymous Apex
- Medium: Automate with a scheduled Apex job
- Hard: LWC interface for job browsing and selection
📘 Apex Class: JoobleJobFetcher.cls
📘 LWC Component: jobFinder
📘 API Reference: Jooble API Docs
Type: Apex Unit Tests
Purpose: Ensure 85%+ coverage for deployment.
Logic:
- Positive and negative tests for all classes and triggers.
- DataFactory pattern for test data creation.
📘 Namespace: tests/
📘 Sample Test Class: TakeHomePayCalculator_Test.cls
force-app/
├── main/
│ ├── default/
│ │ ├── lwc/
│ │ │ ├── takeHomeCalculator/
│ │ │ └── jobFinder/
│ │ ├── classes/
│ │ │ ├── JoobleJobFetcher.cls
│ │ │ ├── TakeHomePayCalculator.cls
│ │ │ ├── StaleJobCleaner.cls
│ │ │ └── EventConflictValidator.cls
│ │ ├── flows/
│ │ │ └── Job_Application_Status_Automation.flow
│ │ └── triggers/
│ │ └── JobApplicationTrigger.trigger
└── tests/
├── TakeHomePayCalculator_Test.cls
├── JobApplicationTriggerHandler_Test.cls
└── StaleJobCleaner_Test.cls
- Maintain consistent naming conventions (PascalCase for Apex, kebab-case for LWC).
- Always include test classes for new Apex code.
- Follow Salesforce best practices for bulkification and governor limits.
- Document new automations in this wiki page.
