1.
Salesforce Basics
1.1 Introduction to Salesforce
   ●   What is Salesforce?
   ●   Types of Clouds: Sales Cloud, Service Cloud, Marketing Cloud, Community Cloud,
       Commerce Cloud.
   ●   Salesforce Editions: Developer, Enterprise, Professional, and Unlimited Editions.
   ●   Multi-Tenant Architecture: Benefits and limitations.
   ●   Salesforce Object Model: Standard Objects vs. Custom Objects.
1.2 Salesforce User Interface
   ●   Salesforce Lightning Experience: Differences between Classic and Lightning.
   ●   App Builder: How to create custom apps and pages.
   ●   Page Layouts: Customizing page layouts for objects.
   ●   Lightning App Builder: Creating custom pages for apps.
   ●   Record Types: Differentiating views based on user profiles.
2. Salesforce Data Model
2.1 Objects and Fields
   ●   Standard Objects: Account, Contact, Opportunity, Case, Lead, etc.
   ●   Custom Objects: Creating and managing custom objects.
   ●   Fields: Field types, Field-level security, Formula fields, Picklist fields.
   ●   Relationships in Salesforce: Lookup, Master-Detail, Many-to-Many relationships
       (Junction Objects).
2.2 Schema Builder
   ●   Visualizing the data model.
   ●   Creating and modifying objects and relationships.
3. Salesforce Data Management
3.1 Data Security and Sharing
   ●   Profiles and Permission Sets: Controlling access to records and fields.
   ●   Role Hierarchy: Granting access based on user roles.
   ●   Sharing Rules: Automating record sharing with groups, roles, etc.
   ●   Org-wide Defaults (OWD): Setting the default record access level.
   ●   Field-Level Security: Hiding or showing fields to specific profiles.
3.2 Data Import and Export
   ●   Data Loader: Importing, updating, deleting, and exporting data.
   ●   Data Import Wizard: Simpler tool for importing data.
   ●   External Data Sources: Connecting to external databases.
4. Apex (Server-Side Programming)
4.1 Introduction to Apex
   ●   What is Apex?: Language for server-side logic in Salesforce.
   ●   Apex Syntax: Variables, methods, and classes.
   ●   Governor Limits: SOQL queries, DML operations, CPU time, etc.
4.2 Apex Triggers
   ●   What are Triggers?: Running logic on record creation, update, or deletion.
   ●   Trigger Events: Before insert, after insert, before update, after update, before delete,
       after delete.
   ●   Bulkification: Handling multiple records in one transaction to avoid governor limits.
   ●   Trigger Context Variables: Understanding Trigger.new, Trigger.old,
       Trigger.isInsert, etc.
4.3 Apex Classes and Methods
   ●   Custom Apex Classes: Writing reusable code.
   ●   Public vs. Private Methods: Encapsulation and access control.
   ●   Test Classes: Writing test cases to ensure code coverage and performance.
   ●   Asynchronous Apex: Using @future, Queueable, Batch Apex, and Scheduled
       Apex for long-running operations.
5. Lightning Web Components (LWC)
5.1 Introduction to LWC
   ●   What is LWC?: A modern framework built on web standards (HTML, CSS, JavaScript).
   ●   LWC Architecture: Component structure, shadow DOM, and reactive properties.
   ●   Creating LWC Components: Basic HTML structure, CSS styling, and JavaScript logic.
5.2 LWC Communication
   ●   Parent-Child Communication: Using @api and @track for data binding.
   ●   Custom Events: Using CustomEvent to communicate between components.
   ●   Lightning Data Service: Interacting with Salesforce data in LWC without using Apex.
5.3 Advanced LWC Topics
   ●   Wire Service: Using the @wire decorator for reactive data loading from Apex methods.
   ●   Imperative Calls: Making Apex calls from LWC when more control is required.
   ●   Dynamic Components: Dynamically loading components with
       lightning/dynamicPage.
6. Visualforce (Legacy UI Framework)
6.1 What is Visualforce?
   ●   Visualforce Pages: Creating custom UIs with HTML and Apex controllers.
   ●   Apex Controllers: Using Apex to handle logic behind Visualforce pages.
6.2 Visualforce Markup
   ●   Visualforce Components: Standard and custom components.
   ●   Visualforce Pages: Using HTML, CSS, and Salesforce data in Visualforce.
6.3 Visualforce vs. LWC
   ●   When to use Visualforce: Complex legacy use cases, integrations, or when Lightning
       Components are not feasible.
   ●   Visualforce limitations: Performance issues and maintenance complexity compared to
       LWC.
7. Integration
7.1 Salesforce APIs
   ●   REST API: Basic and advanced concepts, using RESTful services.
   ●   SOAP API: Working with XML-based web services.
   ●   Bulk API: Handling large volumes of data in asynchronous mode.
   ●   Streaming API: Real-time data updates using push notifications.
7.2 External Services
   ●   External Data Sources: Integrating Salesforce with external systems (using Apex,
       REST/SOAP).
   ●   Named Credentials: Securely storing external system credentials.
   ●   Platform Events: Using event-driven architecture for real-time communication.
7.3 Middleware
   ●   MuleSoft: Using MuleSoft for integration.
   ●   Third-party tools: Integrating Salesforce with third-party systems like SAP, Oracle, etc.
8. Security and Sharing
8.1 Security Models
   ●   Profiles and Permission Sets: Configuring access to Salesforce resources.
   ●   Sharing Rules: Automating record sharing across teams.
   ●   Field-Level Security: Limiting access to sensitive data fields.
8.2 Authentication
   ●   Single Sign-On (SSO): Configuring login mechanisms for external systems.
   ●   OAuth Authentication: Implementing OAuth for secure API access.
9. Deployment and Continuous Integration
9.1 Deployment Strategies
   ●   Change Sets: Deploying metadata between Salesforce environments.
   ●   Salesforce DX: Using Developer Experience tools for version control, continuous
       integration, and deployment.
9.2 CI/CD Tools
   ●   Jenkins, GitHub, and GitLab: Automating Salesforce deployments using version
       control and CI/CD pipelines.
9.3 Sandboxes and Environments
   ●   Types of Sandboxes: Developer, Developer Pro, Partial Copy, Full Sandbox.
   ●   Deployment Tools: ANT Migration Tool, SFDX CLI.
10. Advanced Salesforce Topics
10.1 Asynchronous Apex
   ●   Queueable Apex: Performing complex jobs in the background.
   ●   Batch Apex: Processing large volumes of records in batches.
   ●   Scheduled Apex: Running scheduled tasks at defined times.
10.2 Custom Metadata Types
   ●   Storing configuration data in a custom format.
   ●   Benefits of Custom Metadata Types over Custom Settings.
10.3 Platform Events
   ●   Event-driven architecture: Handling real-time messaging and asynchronous
       communication.
10.4 Custom Lightning Web Components
   ●   Custom Lighting Web Components (LWCs): Creating reusable custom components
       for Salesforce UIs.
   ●   Data Binding in LWC: Reactive programming using @track, @api, and the wire
       service.
   ●   Shadow DOM in LWC: Isolation of styles and behavior in LWC components.
11. Best Practices
11.1 Apex Best Practices
   ●   Avoiding hard-coded values (use Custom Settings/Metadata).
   ●   Efficient use of SOQL and DML to avoid hitting governor limits.
   ●   Bulkify triggers to handle large volumes of data.
11.2 Lightning Best Practices
   ●   Using Lightning Design System (LDS) for UI consistency.
   ●   Optimizing performance by avoiding unnecessary re-renders in LWCs.
11.3 Testing and Code Coverage
   ●   Writing Test Classes for Apex.
   ●   Ensuring 70% code coverage for deployment.
   ●   Testing with mock data and using @isTest annotations for test classes.