Professional Documents
Culture Documents
A PROJECT REPORT
Submitted by
190860131020
BACHELOR OF ENGINEERING
in
Computer Science and Engineering
CERTIFICATE
This is to certify that the project reports, submitted along with the project
entitled Leave Management System has been carried out by Aniket Rajesh
Mistry under my guidance in partial fulfilment for the degree of Bachelor
of Engineering in Computer Science and Engineering, 8th Semester of
Gujarat Technological University, Ahmedabad during the academic year
2022-23.
DECLARATION
i
ACKNOWLEDGEMENT
We take this momentous opportunity to express our heartfelt gratitude, ineptness and
regards to vulnerable and highly esteemed HOD, Mr. Pinal Hansora, Head of
Department of computer science & engineering, Laxmi Institute of Technology for
providing us an opportunity to present our Internship project on “Leave Management
System”.
I convey thanks to Our Project guide, Mr.Ritesh Chauhan, Assistant Professor of
Department of computer science & engineering, Laxmi Institute of Technology for
providing encouragement, constant support and guidance which was of a great help to
complete this project work successfully.
Last but not the least, I would also like to thank my colleagues, who have cooperated
during the preparation of our report and without them this project would not have been
possible. Their ideas helped me a lot to improve my project report.
(190860131020)
ii
ABSTRACT
iii
LIST OF FIGURES
iv
Figure 6.2.3 Change Password Screen 32
v
LIST OF TABLE
vi
Table of Contents
Declaration……………………………………………………………………………. i
Acknowledgement ........................................................................................................ ii
Abstract.......................................................................................................................... iii
List of Figures................................................................................................................ iv
List of Tables.................................................................................................................. v
Table of Contents............................................................................................................ vi
Chapter 1. Overview of the company………………………………………………. 1
1.1 History………………………………………………………………………. 1
1.2 Different Product / Scope of work…………………………………………. 2
1.3 Organization chart…………………………………………………………. 3
1.4 Capacity of Plant…………………………………………………………… 4
Chapter 2. Overview of different Plant/Unit/Departments in Company………… 5
2.1 Details about work in each department……………………………………… 5
2.2 List the technical specifications used in each department…………………… 8
2.3 Details about task carried out at each department…………………………… 9
Chapter 3. Introduction to Project/Internship Management ……………………. 10
3.1 Project/Internship Summary…………………………………………………. 10
3.2 Purpose………………………………………………………………………. 10
3.3 Objective……………………………………………………………………... 11
3.4 Scope (What it can do and can’t do) ……………………………………....... 12
3.5 Technology and Literature review…………………………………………… 12
3.6 Project / Internship Planning…………………………………………………. 13
3.6.1 Project / Internship Development Approach and Justification………. 13
3.6.2 Project / Internship Effort and Time, Cost Estimation………………. 13
3.6.3 Roles and Responsibilities…………………………………………… 13
3.6.4 Group Dependencies…………………………………………………. 14
3.7 Project / Internship Scheduling (Gantt Chart/PERT/Network Chart)………… 15
Chapter 4. System Analysis…………………………………………………………. 16
4.1 Study of Current System……………………………………………………... 16
4.2 Problem and Weaknesses of Current System………………………………… 16
4.3 Hardware and Software Requirements of new System………………………. 17
4.4 System Feasibility……………………………………………………………. 18
4.4.1 Technical Feasibility…………………………………………………. 18
vii
4.4.2 Economic Feasibility….……………………………………………… 18
4.4.3 Operational Feasibility.……………………………………………… 18
4.4.4 Schedule Feasibility…………………………………………………. 18
4.4.5 Legal Feasibility……………………………………………………… 19
4.5 Use Case Diagram……………………………………………………………. 19
4.6 Class Diagram………………………………………………………………... 20
4.7 E-R Diagram…………………………………………………………………. 21
4.8 Activity Diagram……………………………………………………………. 22
4.8.1 Intern Activity Diagram……………………………………………... 22
4.8.2 Team Lead Activity Diagram ………………………………………. 23
4.8.3 Administrator Activity Diagram…………………………………...... 24
4.9 Sequence Diagram…………………………………………………………… 25
Chapter 5. System …………………………………………………………………… 26
5.1 System Design & Methodology……………………………………………… 26
5.2 Database Design……………………………………………………………... 27
Chapter 6. Implementation…………………………………………………………. 31
6.1 Implementation technology/tool……………………………………………. 31
6.2 Modules implemented………………………………………………………. 31
Chapter 7. Testing…………………………………………………………………… 41
7.1 Testing Plan / Strategy………………………………………………………. 41
7.2 Test Results and Analysis…………………………………………………… 42
7.2.1.1 Test Cases…………………………………………………………… 44
Chapter 8. Conclusion and Discussion……………………………………………. 45
8.1 Overall Analysis of Internship / Project Viabilities………………………… 45
8.2 Dates of Continuous Evaluation (CE-I and CE-II) …………………………. 46
8.3 Problem Encountered and Possible Solutions……………………………… 46
8.4 Summary of Internship / Project work……………………………………… 46
8.5 Limitation and Future Enhancement………………………………………… 47
Chapter 9. References………………………………………………………………. 48
viii
Project ID: 319593 Chapter 1.Overview of the company
1.1 HISTORY
IT Idol Technologies is a rapidly expanding technology company that is dedicated to
delivering high-quality IT solutions to its clients. With a proven track record of success,
the company has already serviced over 50 clients and completed over 350 projects. These
numbers are a testament to the company's commitment to providing clients with top-notch
services that meet their specific needs and requirements.
One of the company’s primary goals is build long-term relationships with its clients. This
is achieved by providing exceptional customer services, delivering quality work, and
always striving to exceed expectations. IT Idol Technologies understands that building
strong, long-term relationships with its clients is essential to its success and the success of
its clients. To achieve its goals, the company employs highly skilled developers with
extensive expertise in all major programming languages, including website and mobile
application development. This allows IT Idol Technologies to tackle a wide range of
projects and deliver Comprehensive solutions to its clients.
Website: https://itidoltechnologies.com/
Industries: IT services and IT Consulting
CEO: Mrs. Deval Rathod
Company size: 120 employees
Headquarters: Valsad India
Type: Self Owned
Specialties: Technical and Time bounded Management, Expertise in dealing with over-
seas clients, Strong Technical Team, Full-stack development, Hybrid App development,
● PHP
● Angular
● WordPress
● Fii
● Api Development
● Html/CSS
● Laravel
● Node Js
● React
● CodeIgniter
● Cake PHP
● UI/UX Design
● Drupal
E-Commerce
● Magento
● WooCommerce
● PrestaShop
● Shopify
The plant is a single-floor facility, with the HR department office situated on the right side
as one enters. This may indicate that the HR department plays an important role in the
plant’s operations, as it is one of the first areas encountered by employees and visitors.
On the opposite side of the entrance is the employee workspace, which may be designed to
provide a more peaceful and focused environment for workers. The layout of the plant may
have been thoughtfully arranged in order to optimize workflow and minimize distractions,
allowing employees to focus on their work and carry out their responsibilities in a
productive manner.
Beside the HR department office is the office of the CEO, which may also be indicative of
the importance of this area of the plant. This central location may provide the CEO with a
good view of the plant and easy access to both the HR department and the meeting rooms
connected to the office.
The presence of two meeting rooms connected to the CEO's office, as well as washrooms
located throughout the plant, may help to facilitate communication and collaboration
among employees. This could potentially lead to more efficient decision-making and
problem-solving, as well as greater overall productivity within the plant.
Overall, the layout and design of this plant appear to have been thoughtfully arranged in
order to provide employees and interns with the necessary resources and facilities to carry
out their work effectively, while also optimizing workflow and encouraging
communication and collaboration among team members.
The company has different departments working on the different technologies, financing,
● Management Department
The management department keeps the check on the process of guiding the development,
maintenance, and allocation of resources to attain organizational goals. Managers are the
people in the organization responsible for developing and carrying out this management
process. Management is dynamic by nature and evolves to meet needs and constraints in
the organization’s internal and external environments. The four primary functions of
managers are planning, organizing, leading, and controlling. By using the four functions,
managers work to increase the efficiency and effectiveness of employees, processes,
projects, and organizations as a whole.
● HR Department
The HR (Human Resources) department is responsible for managing the employee life
cycle (i.e., recruiting, hiring, on boarding, training, and firing employees) and
administering employee benefits. It involves hiring the right kind of people at the right time
in the organization. Under recruitment, the obligations and scope of tasks are formulated
for each employee and a legal contact is signed between the employer and employee has
to follow a definite code of conduct in the organization. It has also the responsibility to
ensure good working environment for the employee. It makes sure that there is no
discrimination on any ground in the organization. In case of any disputes which arise
between the employer and employee, it is HRM’s responsibility to resolve such issues in
an effective manner. It is also responsible for organizing various seminars, meetings,
conferences, etc with other firms to generate healthy relationships with them.
● Frontend Department
The department consists of front-end developers. They are computer programmers who
specialize in website design. Frontend developer’s duties include determining the structure
and design of web pages, striking the balance between the functional and aesthetic design,
and ensuring web design is optimized for smartphones using the different technologies,
frameworks, and libraries. Frontend developers are required to work in teams alongside
backend developers, graphic designers, and user experience designers to ensure all
elements of web creation are consistent. They have proficiency in HTML, CSS, SCSS,
JavaScript, various libraries such as Bootstrap, React, and frameworks like Angular,
Vue.js, etc.
● Backend Department
The department consists of the backend developers. They are the computer programmers
who create, code, and improve the server, server-side applications, and databases that,
when combined with front-end codes, help create a functional, seamless experience for the
end-user. They compile and analyze data, processes, and code to troubleshoot problems
and identify areas for improvements. They collaborate with the frontend developers and
other team members to establish objectives and design more functional, cohesive codes to
enhance the user experience. They have fluency or understanding of specific languages
such as Java, PHP, or python. In the organization, they work on the .NET framework.
● Database Department
The database Department are the database designer. The database designer is in charge of
designing, developing, executing, and preserving a company's data management systems.
One of the most important responsibilities of a database designer is to form relationships
between various elements of data and give it a logical structure. They understand the
organization’s data to skillfully carry out the company’s database design projects. They
design database schema and create databases for varied projects of the company.
The main role of the department is quality assurance. A QA engineer focuses on improving
software development processes and preventing defects in production. They make sure the
software/product development team is doing the right things the right way. They perform
typical tasks such as checking if the product complies with the requirements, assessing
tasks, planning ideas to improve product quality, planning tests, and analyzing the test
results. The main roles are Test Analyst, Test Designer, Test Executer, and Test manager.
● BA Department
● Mobile Department
The department consists of mobile developers. They are the developers who are able to
create software for phones and tablets and are familiar with the newest technologies in the
mobile world. They are responsible for developing new features and user interfaces from
wireframe models. By cooperating with the backend team, designers and the other team
deliver well- architected and high-quality solutions and ensure the best performance and
user experience of the application.
● Html
● SCSS
● Bootstrap
● Material UI
● JQuery
● Angular
● React
● Kotlin
● Figma
● Android Native
● Flutter
● IOS Native
● Sketch
● Adobe XD
2) Backend Department
● Java
● C#
● C++
● Python
● Laravel
● Core PHP
● Express Js
● ASP .Net
● Node Js
3) Database Department
● Mysql
● MongoDB
4) Mobile Department
● Xamarin
● Kotlin
● Ionic
● Flutter
2.3 DETAILS ABOUT TASK CARRIED OUT AT EACH
DEPARTMENT
● First of all Business Analytics team makes the Documentation on the Project, in which
this team specifies the all requirement of the Project, Elaborate the project abstract,
describe the Functional and Non-functional requirements and show how the Project
will be look like.
● Then UI/UX team creates user flows, wireframes, prototypes and mockups for the
project.
They translate requirements into style guides, design systems, design patterns and
attractive user interfaces.
● After that all developers (Frontend, Backend and Database) understand the project
requirement by the documentation and Mockups.
● Then Database developer design stable, reliable and effective databases, then optimize
and maintain legacy systems.
● Also Modify databases according to requests and perform test and database usage
issues and malfunctions.
● Back-end developers are responsible for creating, maintaining, testing, and debugging
the entire backend of a website. This includes the core application logic, databases, data
and application integration, API, and other backend processes.
● Front-end developers focus on the visual layout, user interface/interaction, and user
experience. They create components and features that are directly accessed by a user
through the front-end of a website.
● In their work, they translate wireframes from designers into fully realized user
interfaces by creating the buttons, images, links, and pages that all need to function
efficiently, accurately, and quickly in order for the user to carry out a particular task.
● In their work, they translate wireframes from designers into fully realized user
interfaces by creating the buttons, images, links and pages that all need to function
efficiently, accurately, and quickly in order for the user to carry out a particular task.
During this period of the internship I learn a lot about React js like how to design or create,
a components of website & also learn about how to integrate an api with front-end. We had
a short training period of around one month where we learned basics of front end as well
as backend, I was given many basic tasks to perform and that was the performance
evaluation through assessments. After the completion of the basic training period, I was
assigned to the project of Leave Management System as a front-end developer.
3.2 PURPOSE
The goal of this project is to deliver a Web-Application for It Idol Technologies where the
Mentor’s profile, as well as the intern’s profile, will be managed, Interns will be able to
request for a leave from its Mentor and Mentor can Accept or Reject leaves, updating
information and processing terminations all this can be managed in this website.
3.3 OBJECTIVE
The main objective of the Project Leave Management System is to manage the details of
the interns as well as their Mentors, Leave, Leave Durations & Types. It manages all the
information about Interns and Employees.
The purpose of the project is to build an application program to reduce the manual work
for managing the Leave, Leave Durations, Leave Type, and Company intern’s details. It
tracks all the details about the Interns and their Leave.
● User Side Interface: This side of the system is designed for employees to access their
personal information and request leaves. The following are the key functionalities of
this side:
Access personal information: Employees can view and update their personal details,
including contact details, job title, previous job experience, education detail, assigned
task, department, and work schedules.
Leave request: Employees can request for leave through the system, which will be sent
to the admin side for approval only admin has rights to approve leaves.
3.4 SCOPE
The Leave management will be the web application where interns will be able to request a
leave from the mentors and HRS.
The admins can manage employee data, such as adding new hires, updating information,
processing terminations, and approving leave requests. This side may also include
functions for client data management, such as adding new clients and tracking interactions.
This will computer computerize various process of the Leave Management System.
● Be easy to operate.
● Be expandable.
During my internship, I had the opportunity to acquire knowledge and skills in the field of
web Development and Frontend Development. Throughout the internship, I was taken the
entire process of building a web application from the basics to the advanced level.
At the beginning of the internship, I started with the basics of Web Development. This
involved understanding the various components of a web page, how they work together,
and how to structure them using HTML and CSS. Additionally, I also learnt about
responsive design, which is the process of building web pages that can adapt to different
screen sizes and devices.
Following that, I developed into Frontend Development using React.js. I learnt how to
design frontend and integrate with api that can communicate with the backend. This
involved understanding how to create user side interface, and connect with the server side.
Overall, my internship experience was highly informative and very helpful, as I gained
practical experience in Web Development and Frontend Development. I was able to learn
from Industry experts and develop the necessary skills to build robust and efficient web
applications.
There were the basic training session in the 1st month of Internship.
In training the all different topics of Web Development from its basics were taught and
after that there were different task given on the basis of learning.
I have developed my skills during this Internship and learn a lot of technical part of any
language.
From the given task, I learnt to understand the flow of a project, how it start from the
Requirement gathering to Deployment.
For this Project completion, 4 months of duration given in which 1 month was all about
training and sessions.
After one month the training continued with project and my internship was started from 30
January 2023.
In this Project, there were different team who was going to put efforts to complete this
Project. Business Analytics, Database, Frontend, Backend, QA these all teams were in the
project completion.
We all team make the efforts for Requirement Gathering, Analysis, Designing,
Implementation, Testing & Integration and Maintenance.and the all tasks were assigned to
us by the Mentors weekly.
Currently, the system in place for requesting leaves by employees involves sending written
emails to the HR department. This means that for every leave request, employees have to
go through the trouble of composing an email and sending it to HR. This process can be
quite cumbersome and time-consuming for most employees, which can affect their
productivity and overall job satisfaction.
Moreover, the existing system has several weaknesses and limitations. For instance, if the
HR department has not reviewed an employee's leave request email, the employee might
not be able to take the leave as planned. This can cause unnecessary stress and frustration
for employees who need to take time off from work for various reasons.
Additionally, managing and keeping track of employees' leave records on the HR end can
be challenging, especially in today's era where there are several automated tools and
software that can help streamline such processes. As a result, the current system might not
be the most efficient and effective way to manage employee leaves.
In conclusion, the manual efforts required to manage employee leaves in the existing
system can be quite tedious, time-consuming, and error-prone. Therefore, it might be
worthwhile for the organization to explore more automated and streamlined approaches to
managing employee leaves, which can improve the overall efficiency and productivity of
the workforce.
The current system for managing intern leave requests is disorganized, with no proper way
to maintain records or track the status of requests. Interns are unable to view the status of
their leave requests, and someone has to manually keep track of the list of interns and their
number of leave.
Mentors are also unable to accurately determine the number of remaining leaves for the
specific intern they are supervising, which can lead to confusion and misunderstandings.
Furthermore, there is no efficient way to know if another mentor has already approved or
rejected an intern's leave request, causing delays and potential scheduling conflicts.
In summary, the lack of an organized system for managing intern leave requests can lead
to inefficiencies, confusion, and potential conflicts. Implementing a streamlined approach
that enables interns to track the status of their leave requests and mentors to accurately
monitor their intern's leave balance can improve the overall productivity and effectiveness
of the intern program.
Hardware Requirements
Memory Space:
Minimum – 32 MB
Recommended – 64 MB
HDD – To install the software at least 2 GB and the data storage is depending upon the
organization setup.
Software Requirements
Chrome latest
Frontend: Angular, HTML, CSS, Bootstrap, React js, Material Ui, tailwind.
The feasibility study includes consideration of all the possible ways to provide a solution
to the given problem. The proposed solution should satisfy all the user requirements and
should be flexible enough so that future changes can be easily done based on the future
upcoming requirements.
In Technical Feasibility study, one has to check whether the current requirements for
building the app is feasible with the available Hardware capabilities. In this application,
our backend needs MongoDB and our frontend needs React js. So, it is evident that the
necessary hardware and software are available for development and implementation of the
proposed system. Hence, the solution is technically feasible.
The purpose of an implementation feasibility study is to verify that the system can be
properly implemented in any environment. So, the current proposed system uses React js
for frontend, which is used to handle all the API requests coming from MongoDB Backend.
So, the proposed system can be easily implemented and hence implementation feasibility
is achieved.
-It is a measure of how well a proposed system solves the problems, and takes advantage
of the opportunities identified during scope definition and how it satisfies the requirements
identified in the requirements analysis phase of system development. The proposed system
is user-friendly and adheres to the requirements, thus acceptable to the users. Hence the
system is operationally feasible.
The main goal regarding the development of the System is well known, well understood
and can be easily completed in the allocated time. So, respecting the tight schedule and
considering the fixed objectives of the project it is expected to be a feasible system
regarding the schedule concerned.
Legal feasibility is a measure of how well a solution/ proposed system can be implemented
within the existing legal and organization’s policy. It determines whether the proposed
system conflicts with the legal requirement. As there the solution was accepted by the
company management team and had the approval of both the user and developer there
were no such legal conflicts, has the proposed system pass the legal feasibility.
4.7 ER DIAGRAM
The System Design Description report provides summary or detailed information about a
system design represented by a model.
Systems design is therefore the process of defining and developing systems to satisfy
specified requirements of the user.
Database designs provide the blueprints of how the data is going to be stored in a system.
A proper design of a database highly affects the overall performance of any application.
The designing principles defined for a database give a clear idea of the behavior of any
application and how the requests are processed.
Data Dictionary
1) User Collection
2) Leave Collection
3) Project Collection
4) Experience Collection
7) Holidays Collection
CHAPTER 6. IMPLEMENTATION
6.1 IMPLEMENTATION TECHNOLOGY/TOOL
MongoDB
Backend: MongoDB
If Intern or Team Lead as an user forget their password while signing into the web
application, then they can click on forget password link and change the password and go to
login again
application:
1) Leave
(i) 1st half day
(ii) 2nd half day
(iii) Single Day
(iv) Multiple Days
CHAPTER 7 TESTING
Testing plan
The objective of system testing is to make sure that the whole software production works
according to the requirements, and no significant errors appear in the application. System
testing is the most substantial part of software testing. It involves checking of different
aspects of the system. A software product must pass all the planned tests. Only in this case
its quality can be assured.
We went through several different tests, at the different phases. The tests should validate
from both the requirements perspective and business perspective. At the conclusion of
testing, one should have a high level of confidence that the system will work according to
user requirements and will meet business needs.
Testing strategy
The development process repeats this testing sub-process a number of times for the
following phases:
1) Unit Testing.
Unit Testing tests a unit of code (module or program) after coding of that unit is
completed.
2) Integration Testing
Integration Testing tests whether the various programs that make up a system,
interface with each other as desired, fit together and whether the interfaces between
the programs are correct.
Testing is carried out in such a hierarchical manner to ensure that each component is
correct and the assembly/combination of components is correct. Merely testing a
whole system at the
end would most likely throw up errors in components that would be very costly to
trace and fix.
Testing methods
Validate Name field Keep the Name field Validation message PASS
as blank must be displayed
using invalid inputs
as “Please enter
Name”
Feasibility Study:
● Technical Feasibility:
In Technical Feasibility study, one has to check whether the current requirements
for building the app is feasible with the available Hardware capabilities. In this
application, our backend needs MongoDB and our frontend needs React js. So, it is
evident that the necessary hardware and software are available for development and
implementation of the proposed system. Hence, the solution is technically feasible.
● Operational Feasibility:
Operational feasibility is dependent on human resources available for the project and
involves projecting whether the system will be used if it is developed and
implemented. It is a measure of how well a proposed system solves the problems, and
takes advantage of the opportunities identified during scope definition and how it
satisfies the requirements identified in the requirements analysis phase of system
development. The proposed system is user-friendly and adheres to the requirements,
thus acceptable to the users. Hence the system is operationally feasible.
● Economical Feasibility:
The purpose of an implementation feasibility study is to verify that the system can
be properly implemented in any environment. So, the current proposed system uses
React js for frontend, which is used to handle all the API requests coming from
MongoDB Backend. So, the proposed system can be easily implemented and hence
implementation feasibility is achieved.
The main goal regarding the development of the System is well known, well
understood and can be easily completed in the allocated time. So, respecting the tight
schedule and considering the fixed objectives of the project it is expected to be a
feasible system regarding the schedule concerned.
In existing System, there are some difficulties to manage the leave applications of Interns
for respective department’s Team Leads. They faces difficulties to track the leave history
of a particular Intern.
This leave management system helps to manage the Profile of each Team Leads, employees
and interns.
And this system also help to keep the track of every leave of each interns and also track the
response of Team Leads and admin (Accept / Reject / Revoke) for those leaves.
During my internship, I worked on the Leave Management System (LMS) project, which
is a comprehensive web application that provides management solutions for a company.
My primary responsibility was to develop the Frontend of the LMS using React js, which
involved Designing of interface and integrating an api between user-side interface.
Working on the LMS project was a valuable learning experience, as I gained practical
experience in web development and learned to work effectively in a team environment.
Overall, my internship was a great opportunity to apply my technical skills and contribute
to the development of a real-world project.
Limitation
1) Limited Customization Options: The LMS is a pre-built system, which may have
limited customization options. This means that some companies may have specific
requirements that are not accommodated by the system, and it may be challenging to
customize the system to meet those requirements.
2) Limited Mobile Accessibility: The LMS may have limited accessibility on mobile
devices. As the system is primarily designed for desktop users, employees who need
to access the system on their mobile devices may find it challenging to navigate or use
the system effectively.
Future Enhancement
1) Next goal will be to overcome these limitations.
2) Add some extra functionalities like start working on Admin side where I can add
progress chart, chat board, each employee progress bar, etc.
3) If intern will have some query, then he can directly ask in chat to all the Team Leads
together
CHAPTER 9. REFERENCES
[1] https://www.w3schools.com/
[2] https://legacy.reactjs.org/docs/getting-started.html
[3] https://www.google.com/search?q=mongodb+atlas&rlz=1C1CHBF_enIN1026IN102
6&oq=Mongo&aqs=chrome.0.69i59l2j69i57j69i64j0i131i433i512j46i131i340i433i
512j69i60l2.4718j0j7&sourceid=chrome&ie=UTF-8
[4] https://code.visualstudio.com/docs
[5] https://www.postman.com/company/about-postman/
[6] https://www.tutorialspoint.com/index.htm
[7] https://stackoverflow.com/