The sample application
Let's introduce the leave management application called eLeaveForce. In this application, an employee can request a particular type of leave and his/her manager can approve the leave. We will maintain the leave types and leave categories as reference data (user defined data). A holiday calendar will be maintained for this leave management application. You can use this application to learn about different elements and features of the Force.com platform.
The following is the E-R diagram of the eLeaveForce application, which we will create on the Force.com platform:
In this section, you will capture an idea about the leave management application and the design of the eLeaveForce application. Later, you will learn about the Force.com platform in depth by using this sample application.
There are six custom objects for our leave management application. These six custom objects are used to track the data of the leave management app. They are as follows:
- Employee
- Holiday Calendar
- Leave (main leave object)
- Leave Type
- Leave Category
- Leave Configuration
According to the requirement, these objects are connected with relationships as illustrated in the E-R diagram. More details about custom objects and relationships will be described in Chapter 2, Building the Data Model.
When we define the security model of the application, we need to consider the built-in security features of the Force.com platform. More details about sharing and security models will be described in Chapter 4, Designing Apps for Multiple Users and Protecting Data.
Our leave management app has a few approval processes, such as getting the approval for the particular leave. Approval processes are considered in our design and will be implemented using the in-built workflow and approval processes. More details about workflow and approval processes will be described in Chapter 5, Implementing Business Processes.
We will use Visualforce pages and Apex to accomplish the requirements that can be fulfilled beyond the declarative developments. For example, a graphical view of the current status of the leave process will be displayed on a Visualforce page. More details about Apex and Visualforce will be described in Chapter 7, Custom Coding with Apex and Chapter 8, Building Custom Pages with Visualforce.