Skip to content

mrstarbuck007/salesforce-code-challenge

 
 

Repository files navigation

Reach Financial Logo

Salesforce-code-challenge

Reach Financial is a personal lender that offers prospective borrowers the ability to get loans for debt consolidation (e.g., paying off multiple credit cards with a single payment).  

To apply for a loan, borrowers must provide some specific personal information, and then that information is used to determine what pricing (e.g., interest rate, payment term, and total consolidation amount) a particular borrower qualifies for. Once that pricing is established, the borrower can make small configurations to the loan (e.g., change the term in exchange for a higher interest rate). 

Build a very rudimentary prototype version using a Salesforce Developer org that allows you to demonstrate the following end-to-end scenario:

  • First, create a branch and push an initial commit to the main branch

  • Borrowers use their web browser or mobile device to apply for a loan

    • Borrowers should be able to provide the necessary information to be qualified for a loan 

      • Name 
      • Address 
      • Email 
      • Phone 
      • SSN 
      • Total Loan Amount Requested 
      • Number of Active Credit Cards or Lines of Credit 
    • Based on those inputs (e.g., total loan consolidation amount and amount of credit cards or other types of loans), a basic offer (price) should be computed and presented 

      • This price should include a total loan amount, an interest rate, a term, and a monthly payment based on the two 

        • If the loan amount requested is less than $10,000 or greater than $50,000, deny the application 
        • If the number of credit lines open is <10, a 36-month term and 10% interest applies 
        • If the number of credit lines open is <50 and >10, a 24-month term and 20% interest applies 
        • If the number of credit lines is >50, deny the application 
      • This should be clearly presented to the borrower 

    • Once the borrower has agreed to the terms, they are prompted to upload an identity document. The application is then submitted, and the borrower is informed of a 24-hour review turnaround. 

      • No special automation for the upload is required. We are only looking to upload and store a document.
  • And, as a test of your comfort & prowess in writing Apex:   * During the application process, the borrower should be presented with pricing that is pulled directly from this external API: * https://raw.githubusercontent.com/ReachFinancial/salesforce-code-challenge/main/assets/data/reach-sample-api-response.json

    • Consider how this will be triggered, and how the data will flow back to the rest of the process 
    • Consider best practices when calling out to 3rd parties from within Salesforce
  • Update your branch with your changes if you haven’t already

We are looking for a few things specifically, so choose your time wisely:

  • Are you able to work well between Flows, LWC, and Apex and to use the right dev tool for the right use case?
  • Are you able to integrate Salesforce cleanly with an off-platform web service?
  • Are you able to write clean LWC front-end code that’s fit for a consumer in a B2C context?
  • Are you able to approach unit, integration, and end-to-end testing on the platform in step with modern engineering best practices?

To help you focus on the above, we’ve set up a few basic constructs to work from in the this repo that you can fork and work from:

  • The Account object has been set up with Person Accounts
  • A new custom Application__c object has been created to act as the primary record for the prospective borrower’s application
  • We’ve created a core Apex class with an invocable action called getLoanOffer.cls and its pair test class to give you a place to start.
  • We’ve created a core Flow to use for the application process called Reach Application Process
  • We’ve created an LWC called applicationProcessOfferPresentation to use for displaying the offer retrieved from the external API

About

Salesforce interview code challenges

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • JavaScript 50.3%
  • Apex 47.0%
  • Shell 1.4%
  • HTML 1.3%