Salesforce Apex Assignment Help
User Story
As a recruiter, I want to be able to access a recruitment application to track open positions for multiple departments, the candidates that apply to the positions and any job offers.
Acceptance Criteria
A job position contains at least a title, a department, a description, a status, a grade and a salary range.
It is required to track the candidate contact information and basic background as well as job application specific information like status, an application letter and recruiter and interviewee notes.
The job position salary range must be within the salary range for the position grade.
The recruiter should be able to see the number of days the position has been open for, if it is open.
The job position status must be automatically closed when a candidate accepts a job offer.
When a candidate accepts a job offer, automation should search for other open job applications for that candidate and close them. It should also close all other open job applications for the position that the candidate just accepted.
Create a UI that can be included in the Job Position record page and shows a map of all candidates for a specific position based on their address.
Create an Applicant portal through which candidates are able to apply to positions.
A candidate can apply to multiple open positions within the company.
Instructions
You have 48 hours to complete this assignment from the moment you receive it.
If you have no previous knowledge of Salesforce, you can use any other platform you’re comfortable with but it will probably require extra effort.
You can develop your solution in a Salesforce Developer Edition Org if your would prefer.
Once completed, please provide login access to the environment with the solution deployed. You're also welcome to submit your source code to us (if it exists) in any way you choose but we ask that it not be submitted in any public repositories.
Please contact (cc’d on email) with any questions you may have.
Additional Notes
Feel free to leverage the full range of Salesforce declarative and coding features to achieve the solution.
In the interest of time, we are only asking you develop one function through the experience builder (Applicant Portal) i.e., for candidates to be able to apply for one or more positions. Ability for the candidate to accept a job offer may be completed by a recruiter on their behalf from the backend.
Please refrain from using Appexchange apps
We’re not looking for production-ready code, but rather a workable architecture, code and configuration that meet the acceptance criteria as best as possible. We are looking for enough data to get a sense of your problem solving and coding skills, as well as the ability to discuss your solution with others.
Feel free to include supporting documentation to the solution including assumptions made, an explanation of the architecture and a brief list of outstanding issues that still need to be addressed.
We believe in work-life balance. If you are unable to complete the assignment in the allotted time frame, please submit your source as is as well as a list of issues that still need to be addressed.
You’ll notice some items are missing and some questions left unanswered such as. Interpret the requirements as you consider fit for the user story as you develop your solution.
All apex code (or any other code) should be unit tested
Visualforce Page Code:
{`<apex:page standardController="Candidate__c" sidebar="False">
<apex:form >
<apex:pageBlock >
<apex:pageBlockSection Title="Candidate Info:">
<apex:outputLabel value="Name" />
<apex:inputText value="{!Candidate__c.Name}" />
<apex:outputLabel value="Email" />
<apex:inputText value="{!Candidate_c.Email_c}" />
<apex:outputLabel value="Phone Number" />
<apex:inputText value="{!Candidate_c.Phone_Number_c}"/>
<apex:outputLabel value="Application Status" />
<apex:inputText value="{!Candidate_c.Application_Status_c}"/>
<apex:outputLabel value="Application Letter" />
<apex:inputText value="{!Candidate_c.Application_Letter_c}"/>
<apex:outputLabel value="Basic Background" />
<apex:inputText value="{!Candidate_c.Basic_Background_c}"/>
<apex:outputLabel value="Application Letter" />
<apex:inputTextArea value="{!Candidate_c.Application_Letter_c}"/>
<apex:outputLabel value="Address" />
<apex:inputText value="{!Candidate_c.Address_c}" />
</apex:pageBlockSection>
<apex:pageBlockSection Title="Select Job Position">
<apex:outputLabel value="Job Position" />
<apex:inputfield value="{!Candidate_c.Job_Position_c}"/>
</apex:pageBlockSection>
<apex:commandButton value="Submit Application" action="{!Save}" />
</apex:pageBlock>
</apex:form>
</apex:page>
`}
Screen shots of Job Portal.