You are on page 1of 42

IMPLEMENTATION OF

COLLEGE
LEAVE TRACKING TOOL
Table of Contents
1. Abstract

2. Introduction

3. Objective

4. Description of Project

4.1 Existing System

5. Proposed System

5.1 Benefits

5.2 Modules

6. System Design

6.1 Use Case Diagram

6.2 E-R Diagrams

6.3 Class Diagrams

6.4 Sequence Diagrams

6.5 Activity Diagrams

6.6 Operating Environment

7. Technology Languages

8. Coding

9. Snapshots

10. Future Enhancement

11. Conclusion

Bibliography
1. Abstract
This project is aimed at developing an online leave tracking system that is of importance to
either an organization. The Implementation of College Leave Tracking Tool (LTT) is an
Intranet based application that can be accessed to Principal the organization or a specified
group/Dept. This system can be used to automate the workflow of leave applications and
their approvals. The periodic crediting of leave is also automated. There are features like
Faculty can view the leave approval notifications, showing the number of leave etc. in this
system. Leave Management application will reduce paper work and maintains record in
more efficient way.
2. Introduction
About Implementation of College Leave Tracking Tool

Implementation of College Leave Tracking Tool is a flexible leave management application


that automates policies associated with the granting, validation and calculation of leaves. Our
leave management system applies balance enforcement restrictions in real time and provides
Faculty’s and Employees with easy access to those balances.

Purpose

Anyone who has applied for leave knows the inconvenience of form-filling – and waiting as
the hard copy travels up and down the approval hierarchy. This brilliant electronic leave
management software with its powerful features, cuts out the physical movements and
enables principal to have a bird’s eye view of the leave situation in the College, and make
decisive, on-the-spot approval decisions.

Project Scope

Implementation of College Leave Tracking Tool is enables principal not just to uphold
standard leave policies, but cater to “special cases”, and make decisions which are objective
and compassionate. All this translates to huge cost savings in paper and manpower and a
boost to Faculty morale. Any organization’s backbone is the manpower and to manage the
manpower there are various tools and software available. Leave Management System is
meant to minimize the liability towards leave and Faculty grievances and to cut the cost by
monitoring the unauthorized leave time.

AIM

To automate the existing leave Tracking Process tool in current industries to decrease the
paperwork and enable the process with efficient, reliable record maintenance by using
centralized database, thereby reducing chances of data.
3. Objective
This project was aimed at developing an Implementation of College Leave Tracking Tool
that is of importance to either an organization or a College. The Implementation of College
Leave Tracking Tool application that can be accessed tPrincipaloughout the organization or a
specified group/Dept. The “Implementation of College Leave Tracking Tool” process made
computerized to reduce human errors and to increase the efficiency. The main focus of this
project is to lesser human efforts. The maintenance of the records is made efficient, as all the
records are stored in the MYSQL database, which data can be retrieved easily. The
navigation control is provided in all the forms to navigate the large amount of records. If the
numbers of records are very large then user has to just type in the search string and user gets
the results immediately. The editing is also made simpler. The user has to just type in the
required field and press the update button to update the desired field.

This system can be used to automate the workflow of leave applications and their approvals.
The periodic crediting of leave is also automated. . There are features like Faculty can view
the leave approval notifications, showing the number of leave etc. in this system.
4. Description of Project
The “Implementation of College Leave Tracking Tool System” process made computerized
to reduce human errors and to increase the efficiency. The main focus of this project is to
lesser human efforts. The maintenance of the records is made efficient, as all the records are
stored in the MySQL database, through which data can be retrieved easily. The navigation
control is provided in all the forms to navigate through the large amount of records. If the
numbers of records are very large then user has to just type in the search string and user gets
the results immediately.

The Implementation of College Leave Tracking Tool System is a web application that can be
accessed throughout the organization or a specified group/Dept. This system can be used to
automate the workflow of leave applications and their approvals and tracking. The periodic
crediting of leave is also automated. There are features like notifications, accept or reject of
leave, automatic approval of leave, report generators to finance department, sends notification
to cab driver etc. in this system.

According to this project to become a part of promoting pans will be able to track, the no of
leave the Faculty as already taken in his/her month or year person will be able to plan about
the types of leave with in the particular year or month depending on the types of leaves the
Faculty has taken the salary will calculated.

Product Features

 This is a web application, which serves for people network of the organization.
 It should be accessed in internet for online leave application by Faculty.
 Apply for leave online.
 Know balance of leave rules online.
 Track leaves approvals.
 Assign work to others during leave period.
 Encash leave.
 Cancel leave.
 Anytime leave ledger.
4.1 Existing System
An ideal Leave Tracking System should offer complete, end-to-end solution when it comes
to Faculty leave management and policies. It should allow you to, not just monitor and
track leaves as an employer, but also seamlessly set leave policies in place. You will also
find an integration of this with the Public/National or College specific dates declared as
holidays by your organization.

Other aspect is transparency in not allowing the Faculty’s to check for their leave history,
balance leaves etc. Because everything is done by manually work. Your Faculty’s cannot
check their past leave applications and also can’t access any specific conversations they
had with regards to the same. As a manager, you need to be bothered by queries with
regards to leave balances etc. from Faculty’s are worry about disputes.

As an employer or principal should not be able to set the leave policies, make changes to
the pro-rata balance rules, check and set guidelines for accrued leaves, clubbing of leaves
etc.

Sometimes can’t even the most alert minds can lose track of things. The things on your
mind like the discussion during the business lunch, the terrible economy, the presentation
you’re working on etc. take up all your attention. When this happens, one is bound to be
absent minded about other vital details in Faculty management, such as a record of leaves
a Faculty has taken. Not to mention, it is hard to keep track at the spur of the moment
which Faculty is present and which one isn’t.
5. Proposed System

For any organization, especially for startups and small businesses, Implementation of
College Leave Tracking Tool is a crucial aspect. Such records of Faculty’s help you keep
track of their diligence. It also indicates the interest your Faculty has in his/her work. The
more the leaves, the less the interest. Implementation of College Leave Tracking Tool
software helps you keep the most accurate track of the amount of paid leave, sick leave,
and holidays your Faculty is entitled to.
Implementation of College Leave Tracking Tool software will help you base your
performance appraisals on accurate information since there is no chance of human error
through the Faculty leave systems. Hence, errors in the work input, leave count, and
diligence in the work of a Faculty are a few less things you don’t need to worry about
keeping track of.

Such efficient Faculty leave tracking software is created in online and can be easily
installed in your system for better and immaculate records of your Faculty’s leave patters
and the remnants of your Faculty’s paid vacation days, leaves details.

We will be able to keep a track of how many holidays your Faculty has used and how
many they have left. Leave management is crucial in any College as it indicates input by
the Faculty’s. Excess vacations can and will reduce this input to a great extent. Such
factors are very simple yet pivotal.

Here College also can monitor vacation and sick time via payroll and human resources
software. This method is effective if you process your payroll or administer your human
resources functions in-house instead of outsourcing those duties. In this case, you need
software that enables time and attendance, payroll processing and human resources
functions.

5.1 Benefits to the organization

The organization will obviously be able to gain benefits such as savings in operating
cost, reduction in paperwork, better utilization of human resources and more
presentable image increasing good will.
The other benefits are improved service and faster and better access to up-to-date
information.
5.2 Modules
1. PRINCIPAL
 Automatically computes and maintains applicable leave balances displayed to the
Faculties at the time of applying for a leave
 Principal can set-up leave rules for automated rule based work-flows
2. FACULTIES
 Online leave Application and approval
 Faculty can view the leave status as accept are reject.
 Faculty can view the remaining of leave to apply.
6. SYSTEM DESIGN
UML (Unified Modeling Language) Diagrams
• Use Case Diagrams
• E-R Diagram
• Class Diagram.
• Activity Diagram.
• Sequence Diagram.

6.1 Use case diagram


• Use case diagram is a behavioural UML Diagrams and frequently used to analyse various
systems. They enable you to visualize the different types of roles in a system and how those
roles interact with the system.
• Use case diagrams consists of 3 objects
• Actor
• Use case
• System

Actor

• Actor in a use case diagram is any entity that performs a role in one given system. This
could be a person, organization or an external system and usually drawn like skeleton
shown below

Use Case

• A use case represents a function or an action within the system. It’s drawn as an oval and
named with the function.
1. Principal, Faculty

2. PRINCIPAL Process
3. Faculty Process
6.2 E-R Diagram
• An Entity Relationship Diagram (ERD) is a visual representation of different entities
within a system and how they relate to each other. For example, the elements
writer, novel, and a consumer may be described using ER diagrams the following
way:

Entity
• An entity can be a person, place, event, or object that is relevant to a given
system.
• For example, a school system may include students, teachers, major courses,
subjects, fees, and other items. Entities are represented in ER diagrams by a
rectangle and named using singular nouns.
Attribute
• An attribute is a property, trait, or characteristic of an entity, relationship, or
another attribute.
• or example, the attribute “customer address” can have the attributes number,
street, city, and state. These are called composite attributes
Relationship

• A relationship describes how entities interact. For example, the entity


“Carpenter” may be related to the entity “table” by the relationship “builds” or
“makes”. Relationships are represented by diamond shapes and are labelled
using verbs
6.3 Class Diagrams
• Class diagrams are the main building block in object-oriented modelling. They are used to
show the different objects in a system, their attributes, their operations and the
relationships among them.
Association

• Is a broad term that encompasses just about any logical connection or relationship
between classes? For example, passenger and airline
Directed Association

• Refers to a directional relationship represented by a line with an arrowhead. The


arrowhead depicts a container-contained directional flow.
6.4 Sequence diagrams
• Sequence diagrams in UML show how objects interact with each other and the
order those interactions occur.
• It’s important to note that they show the interactions for a particular scenario. The
processes are represented vertically and interactions are shown as arrows.
6.5 Activity Diagram

• Activity diagrams represent workflows in a graphical way. They can be used to describe
the business workflow or the operational workflow of any component in a system.
Sometimes activity diagrams are used as an alternative to State machine diagrams
6. 6 Operating Environment

Hardware Requirements
Hard disk : 40 GB

RAM : 2 GB

Processor Speed : 3.00GHz

Processor : Core i3

Software Requirements

Language: Java.
UI Technologies: Bootstrap, CSS3, HTML, AngularJS.
Platform: Windows 7/8.1/10.
Framework: Spring, SpringBoot, Restful Webservice.
Web server: Apache Tomcat 8.0.
Database: MySql.
IDE: Eclipse Neon.
Build Management: Maven.
7. Technology Languages
Java
Java is a programming language and computing platform first released by Sun Microsystems
in 1995. There are lots of applications and websites that will not work unless you have Java
installed, and more are created every day. Java is fast, secure, and reliable. From laptops to
datacenters, game consoles to scientific supercomputers, cell phones to the Internet, Java is
everywhere.

Features of java:

 It is a general purpose, high-level programming language developed by Sun


Microsystems.

 It encourages error-free programming by being strictly typed and performing run-time


checks.

 Provides integrated support for multitPrincipaleaded programming.

 It provides a secure means of creating Internet applications.

 It is not tied to a specific machine or operating system architecture.

 It programs carry with them substantial amounts of run-time type information that is
used to verify and resolve accesses to objects at run time.

 Java programs can be transferred over world wide web (e.g applets)

Bootstrap

 Bootstrap is a powerful front-end framework for faster and easier web development.
It includes HTML and CSS based design templates for common user interface
components like Typography, Forms, Buttons, Tables, Navigations, Dropdowns,
Alerts, Modals, Tabs, Accordion, Carousel and many other as well as optional
JavaScript extensions.
 Bootstrap also provides ability to create responsive layout with much less efforts.

CSS3

 Cascading Style Sheets (CSS3) is the latest standard for CSS.

 CSS3 is completely backwards-compatible with earlier versions of CSS.

o CSS3 mainly used for


o CSS Animations and Transitions
o Calculating Values With calc()
o Advanced Selectors
o CSS Columns
HTML5

o HTML5 is a mark-up language used for structuring and presenting

o HTML5 is important because now that all major vendors support it including
those in the mobile space
o You get a universal experience across a wide spectrum of devices. While
particular features of HTML5 might vary by device platform, there are enough
common ground features to build a compelling web app that looks and feels
similar across the gamut of devices.

JavaScript
o Java script is high level, dynamic, interpreted language

o It is prototype based and object oriented

o It provides framework for client-side architecture


Angular JS

o AngularJS is a JavaScript framework. It is a library written in JavaScript.


o AngularJS is distributed as a JavaScript file, and can be added to a web page
with a script tag

Features of AngularJS:

o In-built directives, custom directives and services


o Two way data binding
o Deep linking and routing
o Animation
o Full support for SPA
o filters

Framework

 Spring 4.3
o Spring 4.3 is a java platform and it is an application framework.
o It can do specific programming model.

 Springboot 2.0.0
o Spring boot it is easy to create spring-powered application.

o It provides some features such as health checks, externalized


configuration.

 RESTful web services


o It is acronyms for Representational state transfer

o It is used for design HTTP and Uniform Resource Identifiers


Web servers

 Apache Tomcat 8.0


o Apache Tomcat is an open source application container.
o It provides support for pure java, HTTP web servers.
o Java codes can be executed easily.

Database

SQL
 SQL injection is a technique that exploits a security vulnerability occurring in
the database layer of an application. The attack takes advantage of poor input
validation in code and website administration.
 It allows attackers to obtain unauthorized access to the back- and database to
change the intended application generated SQL queries. Researchers have
proposed various solutions to address SQL injection problems.  
8. Coding
package com.snipe.ltt.dao.leave;

import java.util.List;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Repository;

import com.snipe.ltt.constant.StatusCode;
import com.snipe.ltt.domain.leave.LeaveDetails;
import com.snipe.ltt.response.Response;
import com.snipe.ltt.utils.CommonUtils;

@Repository
public class LeaveDetailsDAOImpl implements LeaveDetailsDAO{

private static final Logger logger =


LoggerFactory.getLogger(LeaveDetailsDAOImpl.class);
@Autowired
JdbcTemplate jdbcTemplate;

@Override
public Response saveLeaveDetails(LeaveDetails leaveDetails) throws
Exception {
Response response = CommonUtils.getResponseObject("Add user
data");
try {
String sql = "INSERT INTO leavedetails
(leaveId,leaveType,onFrom,toThe,noOfDays,reason,profileId,status)
VALUES(?,?,?,?,?,?,?,?)";
int res = jdbcTemplate.update(sql,
new Object[] { leaveDetails.getLeaveId(),
leaveDetails.getLeaveType(), leaveDetails.getOnFrom(),
leaveDetails.getToThe(),leaveDetails.getNoOfDays(), leaveDetails.getReason(),
leaveDetails.getProfileId(), leaveDetails.getStatus() });
if (res == 1) {
response.setStatus(StatusCode.SUCCESS.name());
} else {
response.setStatus(StatusCode.ERROR.name());
}
} catch (Exception e) {
logger.error("Exception in addUser", e);
response.setStatus(StatusCode.ERROR.name());
response.setErrors(e.getMessage());
}
return response;

@Override
public List<LeaveDetails> getleaveDetails() throws Exception {
try {
String sql = "SELECT
leavedetails.noOfDays,leavedetails.onFrom,
leavedetails.toThe,leavedetails.leaveId, leavedetails.reason,profile.profileId,
profile.firstName,profile.middleName, profile.lastName FROM
leavedetails,profile where leavedetails.profileId=profile.profileId and
leavedetails.status=true";
List<LeaveDetails> leaveDetails = jdbcTemplate.query(sql,
new Object[] {}, new
BeanPropertyRowMapper<LeaveDetails>(LeaveDetails.class));
return leaveDetails;
} catch (Exception e) {
logger.error("Exception in getUsers", e);
}
return null;
}

@Override
public Response updateLeaveDetails(LeaveDetails updateleave) throws
Exception {
Response response = CommonUtils.getResponseObject("Add user
data");
try
{
String query="update leavedetails set status=?,messageStatus=?
where leaveId=?";
int res = jdbcTemplate.update(query,
new Object[]
{updateleave.getStatus(),updateleave.getMessageStatus(),updateleave.getLeaveI
d()});
if (res == 1) {
response.setStatus(StatusCode.SUCCESS.name());
} else {
response.setStatus(StatusCode.ERROR.name());
}

}
catch (Exception e) {
logger.error("Exception in addUser", e);
response.setStatus(StatusCode.ERROR.name());
response.setErrors(e.getMessage());
}
return response;
}

@Override
public List<LeaveDetails> getleave() throws Exception {
try {
String sql = "SELECT
leavedetails.noOfDays,leavedetails.onFrom,
leavedetails.toThe,leavedetails.leaveId, leavedetails.reason,profile.profileId,
profile.firstName,profile.middleName, profile.lastName FROM
leavedetails,profile where leavedetails.profileId=profile.profileId and
leavedetails.messageStatus=false";
List<LeaveDetails> leaveDetails = jdbcTemplate.query(sql,
new Object[] {}, new
BeanPropertyRowMapper<LeaveDetails>(LeaveDetails.class));
return leaveDetails;
} catch (Exception e) {
logger.error("Exception in getUsers", e);
}
return null;
}
@Override
public List<LeaveDetails> getLeaveDetails(String profileId) throws
Exception {
try {
String sql = "SELECT
leavedetails.noOfDays,leavedetails.onFrom,
leavedetails.toThe,leavedetails.leaveId, leavedetails.reason,profile.profileId,
profile.firstName,profile.middleName,
profile.lastName,leavedetails.status,leavedetails.messageStatus FROM
leavedetails,profile where leavedetails.profileId=profile.profileId and
leavedetails.profileId=?";
List<LeaveDetails> leaveDetails = jdbcTemplate.query(sql,
new Object[] {profileId}, new
BeanPropertyRowMapper<LeaveDetails>(LeaveDetails.class));
return leaveDetails;
} catch (Exception e) {
logger.error("Exception in getUsers", e);
}
return null;
}

@Override
public Integer getcount(Integer count) {
try
{
String sql="SELECT count(leaveType) from leavedetails ";
count = jdbcTemplate.queryForObject(sql, new Object[] {},
Integer.class);
return count;
}
catch (Exception e) {
logger.error("Exception in getUser", e);

return null;
}

@Override
public Response updateleaves(LeaveDetails leave) throws Exception {
Response response = CommonUtils.getResponseObject("Add user
data");
try
{
String query1="update profile set remainleave=? where
profileId=?";
int res = jdbcTemplate.update(query1,
new Object[]
{leave.getRemainleave(),leave.getProfileId()});
if (res == 1) {
response.setStatus(StatusCode.SUCCESS.name());
} else {
response.setStatus(StatusCode.ERROR.name());
}

}
catch (Exception e) {
logger.error("Exception in addUser", e);
response.setStatus(StatusCode.ERROR.name());
response.setErrors(e.getMessage());
}
return response;
}

@Override
public List<LeaveDetails> getleaves() throws Exception {
try {
String sql = "SELECT
p.firstName,p.lastName,l.onFrom,l.toThe,l.reason,l.status,l.messageStatus from
leavedetails l,profile p where p.profileId=l.profileId";
List<LeaveDetails> leaveDetails = jdbcTemplate.query(sql,
new Object[] {}, new
BeanPropertyRowMapper<LeaveDetails>(LeaveDetails.class));
return leaveDetails;
} catch (Exception e) {
logger.error("Exception in getUsers", e);
}
return null;
}

}
9. Snapshots
1. Home Screen

2. Registration Screen
3. Account Login

4. Faculty Login
5. Apply Leave

6. Leave Details
7. Message

8. Update Profile
9. Faculty Details

10. Edit Information


11. Modify Information

13. Grant/ Reject Form


14. Leave Details
10. Future Enhancement

• The leaves that have not been availed by the Faculty in the given session can be
automatically carried forward to the next working session depending on the Principal
policy of the organization.

• Every Faculties individual leave record can be tabulated in a pie chart format to
ascertain his/her performance during the working session for Principal approval
activity and Principal directly sends notification to Faculty mail id.

• The summarized data generated by this system can be further provided to different
departments, for example, Finance, Accounts for direct calculation of salaries.

• If personal data is fed into the system while creating Faculty profiles, a single interface
to ascertain information such as no. of years worked, birthdays, notice period,
promotions, can be availed at a single point by the College.

• We are interested to do as an android application to use an Implementation of College


Leave Tracking Tool.
11. Conclusion
The “Implementation of College Leave Tracking Tool” has been developed to overcome the
problem faced in the present system. The developed package was found to work out the
operation effectively. The objectives of the system have been achieved.

The goals that have been achieved are:

 Ensure process time and increase throughput.


 Simplifies the operation.
 Avoid some manual work in the existing system.
 Reduce data redundancy and inconsistency.
 User friendly input screens to enter data.
Bibliography

[1] S Selvi, Manas Rath, N K Sinha, S P Singh, N N J Hemrom, A Bhattacharya, A K


Biswal PRINCIPAL e-Leave Tour Management System at RDCIS, SAIL International
Conference on Information Technology, June-2014 .
[2] Pandore Yogesh Bandopant E-Notifier: Transport Information Services in Colleges
and Ex- ploring Mobile Notification International Journal of Advanced Research in
Computer and Com- munication Engineering Vol. 5, Issue 4, April 2016.
[3] http://www.timeoffmanager.com.
[4] http://www.planmyleave.com.
[5] http://adp.in.

You might also like