# srutikarlakshmi26/salesforce-dev-portfolio architecture

> Architecture diagram of the GitHub repository srutikarlakshmi26/salesforce-dev-portfolio, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-12). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/srutikarlakshmi26/salesforce-dev-portfolio
- Repository: https://github.com/srutikarlakshmi26/salesforce-dev-portfolio

## Overview

This Salesforce project automatically assigns High, Medium, or Low priority to Leads on insert and update. A before-trigger delegates to a handler, which evaluates each record using ordered revenue and industry rules and sets the custom picklist before the record is saved. The graph separates trigger dispatch, rule evaluation, and Lead schema. Relationships are supported by the README; Apex excerpts were not provided, so implementation details beyond that documentation are not inferred.

Main entry points: [`force-app/main/default/classes/LeadTriggerHandler.cls`](https://github.com/srutikarlakshmi26/salesforce-dev-portfolio/blob/main/force-app/main/default/classes/LeadTriggerHandler.cls) (Evaluate records), [`force-app/main/default/triggers/LeadTrigger.trigger`](https://github.com/srutikarlakshmi26/salesforce-dev-portfolio/blob/main/force-app/main/default/triggers/LeadTrigger.trigger) (LeadTrigger), [`force-app/main/default/objects/Lead/Lead.object-meta.xml`](https://github.com/srutikarlakshmi26/salesforce-dev-portfolio/blob/main/force-app/main/default/objects/Lead/Lead.object-meta.xml) (Lead object), [`force-app/main/default/objects/Lead/fields/Lead_Priority__c.field-meta.xml`](https://github.com/srutikarlakshmi26/salesforce-dev-portfolio/blob/main/force-app/main/default/objects/Lead/fields/Lead_Priority__c.field-meta.xml) (Lead priority field)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_trigger["Trigger dispatch"]
  node_lead_trigger["LeadTrigger"]
end

subgraph group_rules["Priority rules"]
  node_handler["LeadTriggerHandler"]
  node_evaluate["Evaluate records"]
  node_determine["Determine priority"]
end

subgraph group_schema["Lead schema"]
  node_lead_object["Lead object"]
  node_priority_field["Lead priority field"]
end

node_sales_rep(("Sales rep"))
node_salesforce[("Salesforce org")]

node_sales_rep -->|"edits Lead"| node_salesforce
node_salesforce -->|"invokes before save"| node_lead_trigger
node_lead_trigger -->|"delegates"| node_handler
node_handler -->|"evaluates records"| node_evaluate
node_evaluate -->|"gets priority"| node_determine
node_evaluate -->|"sets value"| node_priority_field
node_salesforce -.->|"stores Lead"| node_lead_object
node_lead_object -->|"defines field"| node_priority_field

click node_lead_trigger "https://github.com/srutikarlakshmi26/salesforce-dev-portfolio/blob/main/force-app/main/default/triggers/LeadTrigger.trigger"
click node_handler "https://github.com/srutikarlakshmi26/salesforce-dev-portfolio/blob/main/force-app/main/default/classes/LeadTriggerHandler.cls"
click node_evaluate "https://github.com/srutikarlakshmi26/salesforce-dev-portfolio/blob/main/force-app/main/default/classes/LeadTriggerHandler.cls"
click node_determine "https://github.com/srutikarlakshmi26/salesforce-dev-portfolio/blob/main/force-app/main/default/classes/LeadTriggerHandler.cls"
click node_lead_object "https://github.com/srutikarlakshmi26/salesforce-dev-portfolio/blob/main/force-app/main/default/objects/Lead/Lead.object-meta.xml"
click node_priority_field "https://github.com/srutikarlakshmi26/salesforce-dev-portfolio/blob/main/force-app/main/default/objects/Lead/fields/Lead_Priority__c.field-meta.xml"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_lead_trigger toneBlue
class node_handler,node_evaluate,node_determine,node_salesforce toneAmber
class node_lead_object,node_priority_field toneMint
class node_sales_rep toneIndigo
```

## Components

### Trigger dispatch

- [LeadTrigger](https://github.com/srutikarlakshmi26/salesforce-dev-portfolio/blob/main/force-app/main/default/triggers/LeadTrigger.trigger): `force-app/main/default/triggers/LeadTrigger.trigger`

### Priority rules

- [LeadTriggerHandler](https://github.com/srutikarlakshmi26/salesforce-dev-portfolio/blob/main/force-app/main/default/classes/LeadTriggerHandler.cls): `force-app/main/default/classes/LeadTriggerHandler.cls`
- [Evaluate records](https://github.com/srutikarlakshmi26/salesforce-dev-portfolio/blob/main/force-app/main/default/classes/LeadTriggerHandler.cls): `force-app/main/default/classes/LeadTriggerHandler.cls`
- [Determine priority](https://github.com/srutikarlakshmi26/salesforce-dev-portfolio/blob/main/force-app/main/default/classes/LeadTriggerHandler.cls): `force-app/main/default/classes/LeadTriggerHandler.cls`

### Lead schema

- [Lead object](https://github.com/srutikarlakshmi26/salesforce-dev-portfolio/blob/main/force-app/main/default/objects/Lead/Lead.object-meta.xml): `force-app/main/default/objects/Lead/Lead.object-meta.xml`
- [Lead priority field](https://github.com/srutikarlakshmi26/salesforce-dev-portfolio/blob/main/force-app/main/default/objects/Lead/fields/Lead_Priority__c.field-meta.xml): `force-app/main/default/objects/Lead/fields/Lead_Priority__c.field-meta.xml`

### Other components

- **Sales rep**
- **Salesforce org**

## Connections

- Sales rep → Salesforce org: edits Lead (evidence: `README.md`)
- Salesforce org → LeadTrigger: invokes before save (evidence: `README.md`)
- LeadTrigger → LeadTriggerHandler: delegates (evidence: `README.md`)
- LeadTriggerHandler → Evaluate records: evaluates records (evidence: `README.md`)
- Evaluate records → Determine priority: gets priority (evidence: `README.md`)
- Evaluate records → Lead priority field: sets value (evidence: `README.md`)
- Salesforce org → Lead object: stores Lead
- Lead object → Lead priority field: defines field (evidence: `README.md`)
