Job Application Tracking System
Job Application Tracking System
Job Application Tracking System
SYSTEM
Submitted By
HARINA V B (611220244009)
KANISKA P (611220244018)
SOUNDAMMAL K (611220244038)
SREE PRIYA DHARSSHINI R V (611220244040)
BACHELOR OF TECHNOLOGY
in
COMPUTER SCIENCE AND BUSINESS SYSTEMS
KNOWLEDGE INSTITUTE OF
TECHNOLOGY,
SALEM-637504
BONAFIDE CERTIFICATE
Certified that this project report titled “JOB APPLICATION TRACKING
SYSTEM” is the BonafIde work of “ HARINA V B (611220244009), KANISKA P
(611220244018), SOUNDAMMAL K (611220244038), SREE PRIYA
DHARSSHINI R V (611220244040)” who carried out the project work under
my supervision.
SIGNATURE SIGNATURE
Dr.M. RAMKUMAR M.E., Ph.D., Mr. B.VENKATA RAMANEN M.E.,
HEAD OF THE DEPARTMENT FACULTY MENTOR
PROFESSOR ASSISTANT PROFESSOR
Department of Computer Science Department of Computer Science
and Business Systems, and Business Systems,
Knowledge Institute of Technology, Knowledge Institute of Technology,
Kakapalayam, Kakapalayam,
Salem- 637 504. Salem- 637 504.
---------------------------------------------------- ------------------------------------------------------------
1
2.PROJECT SPECIFICATIONS
2
Fields & Relationships (Milestone 5): Custom fields and
relationships will be established to capture specific data attributes
related to job applications and recruiters.
Profile (Milestone 6): User profiles will be configured to define
access permissions and roles within the application.
Role and Role Hierarchy (Milestone 7): Role-based access
control will be set up to determine who can view and edit specific
data within the CRM.
Users (Milestone 8): User management will involve adding and
configuring user accounts, specifying their roles and access
levels.
Sharing Rules (Milestone 9): Sharing rules will be defined to
ensure that users can appropriately share and access data based
on predefined criteria.
User Adoption (Milestone 10): Strategies and tools will be
implemented to encourage user adoption and make the
application user-friendly.
Reports (Milestone 11): Custom reports will be created to track
and analyse job application data, providing valuable insights for
users.
Dashboards (Milestone 12): Dashboards will be designed to
display key performance indicators and visual summaries of
application data.
The project aims to create a comprehensive CRM application that
helps job applicants track their applications and access job
postings from recruiters. It covers the technical architecture, data
modeling, and user adoption aspects of Salesforce. The scope is
to deliver an efficient, user-friendly, and productive tool for
managing the job application process within the Salesforce
platform.
3
2.3 Technical Requirements
4
2.4 Functional Requirements
User Registration and Authentication: Users should be able to
create accounts with unique usernames and passwords. User
authentication and authorization should be implemented to ensure
data security.
Dashboard: Users should have a personalized dashboard
displaying key metrics such as the number of job applications
submitted and the status of each application.
Job Application Tracking: Users should be able to record
details of each job application, including the job title, company,
date applied, application status, and any related notes. Users
should be able to filter and search through their job applications.
Job Postings: Job postings from various recruiters should be
accessible within the application. Users should be able to view
details of job postings, such as job descriptions, qualifications,
and application deadlines.
Custom Objects and Relationships: Custom objects for job
applications, job postings, and recruiters should be defined with
appropriate relationships. Relationships between applicants and
their job applications, as well as between job applications and job
postings, should be established.
Profile Management: Users should have the ability to edit their
profiles and update personal information. Profiles should include
user-specific settings and preferences.
Role-Based Access Control: Access permissions should be
defined based on user roles (e.g., applicant, recruiter). Users
should only have access to data and features relevant to their
roles.
User Management: Administrators should be able to add,
modify, or deactivate user accounts. User roles and permissions
should be customizable.
5
Sharing Rules: Sharing rules should be configured to allow data
sharing based on predefined criteria, ensuring privacy and data
access control.
Reporting: Users should be able to generate custom reports
based on their job application data. Standard reports and report
templates should be available for common use cases.
Notifications and Reminders: Users should receive
notifications and reminders for application deadlines, interview
schedules, and other important events. Notifications can be
delivered via email or within the application.
Integration with External Platforms: Integration with job
search platforms or websites to import job postings automatically.
Integration with email services to track application-related
correspondence.
Data Import and Export: Users should have the capability to
import and export their application data for backup or transfer
purposes.
User Adoption Features: Onboarding guides, tutorials, and
tooltips to help users navigate and effectively use the system.
Feedback mechanisms to collect user suggestions and improve
the application.
Customization and Configuration: Administrators should be
able to customize the application's appearance, fields, and
workflows to suit their organization's needs.
Mobile Accessibility: The application should be accessible on
mobile devices to allow users to track job applications on the go.
Security and Data Privacy: Data encryption, secure
connections, and compliance with data privacy regulations (e.g.,
GDPR) should be implemented to protect user data.
Scalability: The system should be scalable to accommodate a
growing number of users, job applications, and job postings.
Backup and Recovery: Regular data backups and a disaster
recovery plan should be in place to prevent data loss.
6
3.PREPARATION DATA MODELING
Objects:
Salesforce objects are database tables that permit you to store data
that is specific to an organization. It consists of fields (columns) and
records (rows).
Salesforce objects are of two types:
1.Standard Objects: Standard objects are the kind of objects
that are provided by salesforce.com such as users, contracts, reports,
dashboards, etc.
2.Custom Objects: Custom objects are those objects that are
created by users. They supply information that is unique and essential
to their organization. They are the heart of any application and provide
a structure for sharing data.
In This Application We Use 4 Custom Objects:
1.Recruiter
2.Jobs
3.Candidate
4.Job-Application
1)Create A Custom Object for Recruiter:
1.From setup click on object manager.
2.Click create, select custom object.
3.Fill in the label as " Recruiter ".
4.Fill in the plural label as " Recruiters".
5.Record name: " Recruiter Name"
6.Select the data type as "Text".
7.In the Optional Features section, select Allow Reports and Track
Field History.
7
8.In the Deployment Status section, ensure Deployed is selected.
9.In the Search Status section, select Allow Search.
10.In the Object Creation Options section, select Add Notes and
Attachments related list to default page layout.
9
3)Creation of Candidate Object
1.Click on the gear icon and then select Setup.
2.Click on the object manager tab just beside the home tab.
3.After the above steps, have a look on the extreme right you will find
a Create Dropdown click on that and select Custom Object.
4.On the Custom Object Definition page, create the object as follows:
5.Label: Candidate
6.Plural Label: Candidates
7.Record Name: Candidates Name
8.Select the data type as "Text".
9.Check the Allow Reports checkbox.
10.Check the Allow Search checkbox.
11.In the Object Creation Options section, select Add Notes and
Attachments related list to default page layout.
12.Click Save.
10
4)Creation of Job Application Object
1.Click on the gear icon and then select Setup.
2.Click on the object manager tab just beside the home tab.
3.After the above steps, have a look on the extreme right you will find
a Create Dropdown click on that and select Custom Object.
4.On the Custom Object Definition page, create the object as follows:
11
5.Label: Job Application
6.Plural Label: Job Applications
7.Record Name: Job Application Number
8.Select the data type as "Auto Number".
9.Under display format enter "JP- {0000}"
10.Enter starting number as 1
11.Check the Allow Reports checkbox.
12.Check the Allow Search checkbox.
13.In the Object Creation Options section, select Add Notes and
Attachments related list to default page layout.
14.Click Save.
12
Tabs:
Tabs in Salesforce help users view the information at a glance.
It displays the data of objects and other web content in the
application.
There are mainly 4 types of tabs:
1.Standard Object Tabs: Standard object tabs display data related to
standard objects.
2.Custom Object Tabs: Custom object tabs display data related to
custom objects. These tabs look and function just like standard tabs.
3.Web Tabs: Web Tabs display any external Web-based application
or Web page in a Salesforce tab.
4.Visualforce Tabs: Visualforce Tabs display data from a
Visualforce Page.
1)Creation of Recruiter Tab
1.Now create a custom tab.
2.Click on Home tab, enter Tabs in Quick Find and select Tabs.
Under custom object tabs, click New
13
3.For Object, select Recruiter.
4.For Tab Style, select any icon.
5.Leave all defaults as is. Click Next, Next, and Save.
14
3)Creation of Candidate Tab
1.Now create a custom tab.
2.Click on Home tab, enter Tabs in Quick Find and select Tabs.
3.Under custom object tabs, click New.
4.For Object, select Candidate.
5.For Tab Style, select any icon.
6.Leave all defaults as is. Click Next, Next, and Save
15
Lightning App:
Apps in Salesforce are a group of tabs that help the application
function by working together as a unit. It has a name, a logo, and a
particular set of tabs. The simplest app usually has just two tabs.
There are 2 types of Salesforce applications:
Standard apps: these apps come with every occurrence of
Salesforce as default. Community, Call Centre, Content, Sales,
Marketing, Salesforce Chatter, Site.com, and App Launcher are
included in these apps. The description, logo, and label of a standard
app cannot be altered.
Custom apps: these apps are created according to the
needs of a company. They can be made by putting custom and
standard tabs together. Logos for custom apps can be changed.
1.Click New Lightning App. Job Application Tracking as the App
Name, then click Next
16
2.Under App Options, leave the default selections and click Next.
3.Under Utility Items, leave as is and click Next.
4.From Available Items, select Recruiters, Jobs, Candidates, Job
Application Reports, and Dashboards and move them to Selected
Items. Click Next.
17
5.From Available Profiles, select System Administrator and move it
to Selected Profiles. Click Save & Finish.
18
Fields and Relationship:
Fields in Salesforce represent what the columns represent in
relational databases. It can store data values which are required for a
particular object in a record.
There are 2 types of fields in salesforce:
Standard fields: There are four standard fields in every
custom object that are Created By, Last Modified By, Owner, and the
field created at the time of the creation of an object. These fields
cannot be deleted or edited and they are always required. For standard
objects, the fields which are present by default in them and cannot be
deleted from standard objects are standard fields.
Custom fields: The Custom fields which are added by the
administrator/developer to meet the business requirements of any
organization. They may or may not be required.
1)Creation of Fields for The Recruiter Objects
1.click the gear icon and select Setup. This launches Setup in a new
tab.
2.Click the Object Manager tab next to Home.
3.Select Recruiter.
4.Select Fields & Relationships from the left navigation, and click
New
--From the sidebar, click Fields & Relationships. Notice that there are
already some fields there. Those are the standard fields.
--Click New to create a custom field. Tip: Before creating a new field,
do a quick search to make sure a similar one doesn’t already exist.
5.Choose the data type as Auto number, click next
6.Enter field label (Recruiter Number), Display format RN- {0000}
Starting number (1) and click next
7.Next, Next and Click save.
19
8.Now let's create the other fields follow above Activity1 steps 1 to 4
and we must choose the data types of the fields carefully
--Select the Text as the Data Type, then click Next. For Field Label,
Job Title. Enter Length (20) Click Next, Next, then Save & New.
--Select the Email as the Data Type, then click Next. For Field Label,
Email.
9.Click Next, Next, then Save & New.
--Select the phone as the Data Type, then click Next. For Field Label,
Phone.
10.Click Next, Next, then Save & New.
20
3)Creation of Master-Detail Relationship for Job Object
1.From Setup, go to Object Manager
2.On the sidebar, click Fields & Relationships.
3.Click New.
4.Choose Master-detail Relationship and click Next
5.Choose the related object (Recruiter) and select that object.
6.Enter the label name (Recruiter Name)
21
2.Click Next, Next, then Save & New.
3.Select the Email as the Data Type, then click Next. For Field Label,
enter Email.
4.Click Next, Next, then Save & New.
5.Select the Phone as the Data Type, then click Next. For Field Label,
enter Phone.
6.Click Next, Next, then Save & New
7.Select Picklist as the Data Type and click Next. For Field Label
enter Education.
8.Select Enter values, with each value separated by a new line and
enter these values: Graduation,
9.Post-Graduation. Click Next, Next, then Save & New.
10.Select the Text area as the Data Type, then click Next. For Field
Label, enter Skill Set.
11.Click Next, Next, then Save & New
22
3.After the above steps, Select candidate Object
4.Now Select Fields and relationships from setup menu of the
candidate object.
5.Click new and select Picklist fields ????next and enter label name
(State) and select enter values option
6.(Rajasthan, UP, MP, Punjab), next, next and Save.
7.Select Picklist as the Data Type and click Next. For Field Label
Name City and Select Enter values, with each value separated by a
new line and enter these values (JS), next, next and Save.
8.Select Picklist as the Data Type and click Next. For Field Label
enter Education.
23
9.Select Enter values, with each value separated by a new line and
enter these values: Graduation, Post-Graduation. Click Next, Next,
then save and new.
25
9.Select State as the Controlling Field and select City as the
Dependent Field.
10.Click Continue.
11.Select the appropriate Value in each column by double-clicking
them. For Ex. Rajasthan - Jaipur
12.Click Include Values. And it is also same for UP, MP& Punjab
with its city.
13.Click Preview, then test the dependency by selecting different
State and viewing the associate Values available for Particular state.
14.Click Close to close the preview window.
15.Click Save.
26
5.Give the field label (Candidate name) & click next, next, next and
Save
Second lookup relationship
1.From Setup, go to Object Manager
2.On the sidebar, click Fields & Relationships.
3.Select Lookup relationship & click next
4.Choose the related object as Job & click next
5.Give the field label (Job Name) & click next, next, next and Save
27
4. USERS & DATA SECURITY
Profile
A profile is a group/collection of settings and permissions that
define what a user can do in salesforce. A profile controls “Object
permissions, Field permissions, User permissions, Tab settings, App
settings, Apex class access, Visualforce page access, Page layouts,
Record Types, Login hours & Login IP ranges. A profile can be
assigned to many users, but user can be assigned single profile at a
time.
1)Create A Custom Profile
1.From setup, enter profiles in Quick Find box
2.Select profiles (Standard user).
3.Click clone.
4.For Profile, enter Recruiter.
5.Click save.
28
3.Select profiles (Standard user).
4.Click clone.
Role
In Salesforce, roles are used to determine which users have
access to certain data and functions within the system. They are also
used to define the reporting hierarchy within an organization. Users
with higher roles have greater access to data and more control over
the system
1)Creation of Role
1.From the Quick find box search for the role and click on the roles
option
2.select the set-up roles option
3.Below the CEO click on add role and enter the label name as a” HR
Manager” and role name will be Automatically populated and click
on save.
29
User
A user is anyone who logs in to Salesforce. Users are employees
at your company, such as sales reps, managers, and IT specialists,
who need access to the company's records. Every user in Salesforce
has a user account. The user account identifies the user, and the user
account settings determine what features and records the user can
access.
1)To Create A User
1.From Setup, enter Users in the Quick Find box, then select Users.
2.Click New User.
3.Enter First name as HR and last name as Manager.
4.Enter the user’s name and email address and a unique username in
the form of an email address. By default, the username is the same as
the email address.
5.Then create a new role HR Manager.
6.Select user License as Standard Platform User.
7.Select profile (Recruiter).
30
8.Click save
2)To Create A User
1.From Setup, enter Users in the Quick Find box, then select Users.
2.Click New User.
3.Enter First name as Ganesh and last name as Gili.
4.Enter the user’s name and email address and a unique username in
the form of an email address. By default, the username is the same as
the email address.
5.Then create a new role HR Manager.
6.Select user License as Standard Platform User.
7.Select profile (Sales Manager).
31
8.Click save
Sharing Rules
Sharing rules help users to share records based on conditions. It
is basically created for objects whose organization-wide defaults
(OWD) are set to public read-only or private because sharing rules
can only extend the access and not restrict it.
Types of sharing rules,
1.Owner-based Sharing Rules
2.Criteria-based Sharing Rules
1)Create A Sharing Rule
1.Go to Sharing Settings, which can be found under the Quick Find
section.
2.Scroll down and find the candidate object where a sharing rule
needs to be added, and then click on New to create a new sharing rule.
3.Add the label of the sharing rule you want to make.
4.Select your rule type based on the criteria.
5.Select the field can join immediately check field from the candidate
object.
6.Select the State as equal and value is Rajasthan.
32
7.And in selecting the users to share with the section select roles and
in that select Hr Manager.
8.And in the section of select the level of access for the users give the
access Read/Write.
9.And save the rule.
2)Activity 2
Create a Sharing Rule to Share the records of Job Application to Hr
Manager with the Access of Read/Write.
Create A Sharing Rule
1.Go to Sharing Settings, which can be found under the Quick Find
section.
2.Scroll down and find the Job Application object where a sharing
rule needs to be added, and then click on New to create a new sharing
rule.
3.Add the label of the sharing rule you want to make.
4.Select your rule type based on the criteria.
5.Select the field can join immediately check field from the Job
Application object.
6.Job application number contains some number.
33
7.And in selecting the users to share with the section select roles and
in that select Hr Manager.
8.And in the section of select the level of access for the users give the
access Read/Write.
9.And save the rule.
34
5.AUTOMATION
Flow:
Flows in Salesforce, a flow is a tool that automates complex
business processes. Simply put, it collects data and then does
something with that data. Flow Builder is the declarative interface
used to build individual flows. Flow Builder can be used to build
code-like logic without using a programming language. Flows fall
into five categories:
1.Screen Flows
2.Schedule-Triggered Flows
3.Autolaunched Flows
4.Record-Triggered Flows
5.Platform Event-Triggered Flows
1)Create A Record Trigger Flow on Job Object
1.Click on Gear icon and select setup
2.In Quick find Box enter flow and select the flows
3.Click on New flow and Select Record triggered Flows.
35
4.In the search bar type job and click done.
36
14.Add another element called Action.
15.Click on the Action and start creating new action
16.Select the action as Send Email.
17.Enter the label name job email, API name is auto populated.
18.Set input values as
a. Body: {!$Record.Name} with
{!$Record.Job_Application_Id__c} is available. Please find the
suitable candidates for the position.
b. Subject: {!$Record.Name}
37
19.Recipient Email Addresses (comma-separated) should be included
for that turn it on.
20.Recipient Email Addresses:
{!$Record.Recruiter_Name__r.Recruiter_Email__c}
21.Click on done.
22.After the completion of flow, check whether the flow is running
and click save.
23.And Activate the flow.
2)Create Another Flow
1.Click on Gear icon and select setup
2.In Quick find Box enter flow and select the flows
3.Click on New flow and Select Screen Flows.
38
4.Add an element called screen.
5.Screen label should be Candidate details.
6.API name is auto populated.
7.Add the components in canvas.
8.Select the text from the components.
9.Label name as Candidate name.
10.API name is auto populated.
11.Select the text area from the components.
12.Label name as Address.
13.API name is auto populated.
14.Select the email from the components.
15.Label name as Email.
16.API name is auto populated.
17.Select the Phone from the components.
18.Label name as Phone.
19.API name is auto populated.
20.Select the picklist from the components.
39
21.Label name as Education.
22.API name is auto populated.
23.And select the choice as {!pick}.
24.Add a header to the canvas candidate flow for job application.
25.Click on save.
40
30.Set the values for the candidate1 as
31.Field is Address__c and value should be {!Address}.
32.Field is Education__c and value should be {!Education}.
33.Field is Email__c and value should be {!Email.value}.
34.Field is Name and value should be {!Candidate_name}.
35.After that click on done.
41
36.Run the flow and check whether the flow is working and click on
save.
37.And activate the flow.
42
6.REPORTS & DASHBOARD
Reports
A report is a list of records that meet the criteria you define. It's
displayed in rows and columns, and can be filtered, grouped, or
displayed in a graphical chart. Every report is stored in a folder.
Folders can be public, hidden, or shared, and can be set to read-only
or read/write.
1)Create A Report
1.Create a report that displays rating of the account and which has
type and account name.
2.Click on app launcher search for reports.
3.Click on the new report and select the category has job application
with candidate name.
4.In the details section select the option start report.
5.show me my job application and job application created date (All
time)
6.In the outline pane, group rows select job application created date.
43
7.Save the report by giving label name (Job application wtih
candidate name) and save the folder as a public folder and save the
report.
Dashboard
Dashboards provide more insights than reports as they combine
the data from many reports and show a summarized result. Looking at
many reports at a time gives the flexibility of combining the results
from them quickly. Also, summaries in dashboards help us decide on
action plans quicker. The dashboards can contain charts, graphs and
Tabular data.
1)Create A Dashboard
1.Click the Dashboards tab.
2.Click New Dashboard.
3.Name the dashboard Job application with candidate name and click
Create.
4.Click +Component.
5.Select the Job application with candidate name and click Select.
6.Select the Gauge chart and click Add.
7.Click Save and then Done.
44
GitHub & Project Video Demo Link
1.GitHub Link- https://github.com/KaniskaPadmanaban/Salesforce-
Developer-Naan-Mudhalvan.git
2.Video Demo Link-
https://drive.google.com/file/d/15rx71YsKNvY_TfBxXaPjdwpUPU5
4p7zp/view?usp=share_link
45