Construction Management System: A Project Report ON

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 112

A

PROJECT REPORT
ON
Construction Management System
IN ASSOCIATION WITH

S
OFTOLYTICS PVT.LTD.

BY

MS. VINAYA .A. MAHALE

SAVITRIBAI PHULE PUNE UNIVERSITY, PUNE


MASTER IN COMPUTER APPLICATIONS
RAJARSHI SHAHU COLLEGE OF ENGINEERING PUNE-411033
2021-2022
JAYAWANT SHIKSHAN PRASARAK MANDAL’s
RAJARSHI SHAHU COLEEGE OF ENGINEERING
(Approved by All India Council for Technical Education & Govt.of Maharashtra,)

Prof. T. J. Sawant Affiliated to Pune University I.D. No. - PU/ Engg. / 173 (2001)
Dr. R. K. Jain
D.E.E., B.E. (Elec.) MISTE
M. E.(CIVIL Engg) Ph.D
Founder Secretary Principal

Date: 28/05/2022

Ref: RSCOE/MCA II / Project /2021-22/

CERTIFICATE
This is to certify that Ms./Mr. VINAYA MAHALE, is a bonafide student of
JSPM’s Rajarshi Shahu College of Engineering, Tathawade, Pune, has
successfully completed the project work as prescribed by the Savitribai
Phule Pune University, Pune, in the partial fulfillment of the Master of
Computer Applications (MCA) Program 2021-2022.
The project work, titled as “Construction Management System” Has been
carried out at the establishment of “SOFTOLYTICS PVT.LTD.”.

Exam No: 11835

Project Guide HOD Principal

External Examiner:

Internal Examiner:

Date:
Place: Pune

Sr. No. 80, Pune- Mumbai Bypass Highway, Tathawade, Pune- 411 033.
Phone : +91-020-229334344/4084/4347 Telefax : +91-020-22933424
E-mail : rscoe@vsnl.net Website : www.jspmrscoe.edu.in
Declaration

To
The Principal,
Rajarshi Shahu College of Engineering,
Tathawade,
Pune-33.

Respected Sir,

I, Ms. VINAYA MAHALE hereby declare that the project


entitled “Construction Management System” developed and
submitted under the guidance of Prof. Rinku Dulloo, is my
original work.

The system presented here is my own work and has not


been duplicated from any other sources.

Thank You,

Yours Sincerely,

Vinaya A. Mahale
Acknowledgement
I would like to express my gratitude and sincere regards to
the following people to whom I am grateful for their support
and help without which I would not have been able to do this
project entitled “Construction Management System”.

I would like to thank Dr. R. K. Jain, Principal, R.S.C.O.E. for


providing us with excellent facilities and valuable guidance.

I would like to express my profound and sincere gratitude to


Prof. Rinku Dulloo, H.O.D., who has given all his co-
operation and help to complete my project.

My special thanks to Prof. Rinku Dulloo, Project Guide,


whose cooperation and keen interest coupled with valuable
suggestion helped me in the completion of the project.

Last but not least, I am thankful to all Teaching and Non-


Teaching staff of the college, whose names has not been
mentioned here but have directly or indirectly, helped me in
the completion of this project.

Vinaya A. Mahale
Index
Sr.No Title Page No
1 Chapter 1: Introduction 1
1.1 Company Profile 2
1.2 Existing System and Need Of System 4
1.3 Scope of work 7
1.4 Operating Environment – Hardware and
9
Software
2 Chapter 2 : Proposed System 10
2.1 Proposed System 11
2.2 Objective Of System 15
2.3 User Requirements 16
2.4 Feasibility Study 17
3 Chapter 4: Analysis And Design 20
3.1 Use Case Diagram 21
3.2 Class Diagram 28
3.3 Activity Diagram 30
3.4 Sequence Diagram 35
3.5 Component Diagram 41
3.6 Deployment Diagram 42
4 Chapter 4: Implementation 43
4.1 Input Screens 44
4.2 Module Specifications 75
4.3 Table Specifications 79
5 Chapter 5: Testing 85
5.1 Test Procedures and Implementation 86
5.2 Test cases 90
6 Chapter 6: User Manual 102
7 Chapter 7: Drawbacks and Limitations 106
8 Chapter 8: Proposed Enhancements 108
9 Chapter 9: Conclusion 110
10 Chapter 10: Bibliography 112
11 Chapter 11: Annexure 114
11.1 Technology Used 115
11.2 Sample Code 120
Travel Management System

1
CHAPTER
INTRODUCTION
The purpose of this chapter is to provide an introduction to the company
profile and also define basic terminology used in our system that is
Construction Management System. Chapter-1 presents an overview of
existing system and need of system, scope of work and different operating
environment.

 Company Profile
 Project Introduction
 Existing System and Need for System
 Scope of Work
 Environment – Hardware and Software

Page - 1 -
Travel Management System

1.1 COMPAN PROFILE


Y

 SOFTOLYTICS PVT.LTD:

 Softolytics Private Limited is a part of ORBITISCSPL group with an


enthusiastic team, catering software solutions to an extensive range
of industries and enterprises, and an intelligent business solution.
We are based in Pune, India, and we provide a business solution in a
global market. We are specialized in developing business-grade
applications and customer-focused services to help our client's
business to save time, reduce redundancy in the process, make it
economical, and ultimately increase business efficiency.
 Enterprise resource planning (ERP), business process management
(BPM), customer relationship management (CRM), data analytics &
reporting (Tableau, Power BI), web development, including full-stack
development, app development including cross platform
development, and IT solutions remain the featured specializations of
Softolytics.

 Our Verticals

 Manufacturing
 Finance
 Construction
 Hospitality
 Healthcare
Page - 2 -
Travel Management System

 Payroll & Administration

Page - 3 -
Travel Management System

 Vision

Softolytics vision is to be a prominent software developing company that


promotes every business/enterprise to transform into a digital enterprise
with excellent technology and assist them in achieving their goals.

 Transform our client’s business into a digital platform and improve


performance.
 Perform in-depth analysis of our client’s business and advice on the
elegant business solutions to achieve their requirements.
 Bolster the ability to harness the agile software implantation
methodology.
 Solve the toughest challenges by catering to technical excellence,
consultation, and digitization.
 Excellent quality output by rigorous coding, intensive testing, and
optimization.

 Core Values:
 Integrity
 Effective Communication
 Innovation
 Pursuit of Excellence
 Outstanding Teamwork
 Customer Focus

 Experience:

We have a wide experience as a ERP Developer, Web developer & App developer.

Page - 4 -
Travel Management System

 Teams: 

Softolytics offers an optimum mix of experience and enthusiasm having


extensive knowledge of technology and business engineering.

Our Team is enriched with the experienced and certified consultants from the
various background and their application knowledge provides us with vital
support on various developments and implementations.

Our core management comprises engineers, analysts & marketers. They provide
support to our business value chain wherein keeping the synchronization
among all the clients to accomplish organizational objectives.

Softolytics team is enriched with highly experienced, creative & professionals


offering substantial experience of working on mission-critical applications and
large-scale projects. They are constantly looking for innovative concepts, recent
technological development taking place in the software industry and soliciting
them to the new ideas that develop at Softolytics.

Problem Definition
The construction management is very essential to make the project cost effective,
maintain all the records such as Purchase Orders (PO), Sales Invoices, Customers
Inquiries, and their details for further communications along with the employees
records to main the payroll, contacts etc. Also, the construction management system
helps to track the records of work completed, sub-contractors’ information, their
accounts payable, accounts receivable tracks.

Page - 5 -
Travel Management System

1.2 ExISTIN SYSTEM AND


G
NEED OF SYSTEM

 Existing System & Need for System :

The existing workflow of construction management is operated manually i.e.,


customers or tender leads generated are entered into excel sheet or on paper
and information related to customers follow-up is noted either on the sheet of
paper or is stored on digital calendar. The documents related to customers’
requirements, tender information needs to be printed or needs to be stored in
the form of hard copy. Also, while sharing with other colleagues both multiple
copies need to be printed leading to the much wastage of paper.
While speaking about the construction management system, the existing system
works on paper and is difficult to find the required information as and when
needed. In the construction management, when a PO is issued to the vendor,
the same copy of PO needs to be given to the engineer in charge on site, to check
if the vendor has supplied the correct materials make & model. In the manual
system, sometimes vendor delivers the required materials on site but due to lack
of technology usage, the engineer in-charge will be having the information about
PO. Simultaneously, if the engineer in-charge on site needs any special material
requirement for construction, he needs to send an email to the management &
then management will make all the necessary paperwork and assign it to
concerned department for the purchase of the material.
Once the job is completed, based on the site measurements, the customer
billing will be done, and this bill is prepared manually and every time the bill is
prepared, all the accounting entries needs to be updated manually on the other
software’s for accounting purpose.

Page - 6 -
Travel Management System

In conjunction with the construction management, it is very necessary to keep


the track or task assigned to the employees and keep the record of the daily &
monthly activities. Currently, it is very difficult to track their activities on daily if
the management needs to understand their work difficulties. Further, as a
management it is very important to track the working hours of site employees
to main the work life balance in the current system, as the existing system is
not much efficient to track the overtime of employees. Additionally in view of
employees benefits few employees borrow loans or advance salary based on their
needs. This adjustment needs to do with the effective payroll management.
In the existing payroll management, most of the things are done manually
including pay slip of each employee. Each employee must request pay slip as
and when required and then the pay slip will be issued to a particular employee
Few employees. This process needs to be automized so the effective and smart
work can be done.
Limitation of existing system
 Problem in maintaining leads generated or opportunities created.
 Problem in maintaining documents at one place for the leads generated or
opportunities created
 Difficultly in comparing old market rate & new market rate as well as hike in the
market periodically with the same vendor and placing material order with a
current / negotiated rates
 Difficult to keep track of employees’ activity
 Problem in the resource allocation and project planning between various
projects.
 Problem in keeping the data of various departments together.
 Problem in finding previous data for comparation of a similar project
In the existing payroll system, all the information is recorded into registers. Register
entries and calculation is very time consuming & error possibilities.

Page - 7 -
Travel Management System

 Several functions like pay slip details was given manually.


 Problem in keeping data of employees as number of employee increases.
 Report generation is very slow.

Page - 8 -
Travel Management System

1.3 SCOPE OF WORK

 The project (proposed system) is basically meant to connect all the


departments of the construction company to each other via central network. It
includes head office and construction sites, purchase department, payroll
management, tender management, administration, accounting etc. Activities of
various departments includes vendor registration, employee registration with
all the details including emergency contact details, tender preparation,
preparation of purchase orders, client billing, employees’ payment, sub-
contractors’ payments, contracts, warehouse management, so as to gain
accuracy, processing speed, data consistency, and integrity better error
handling with online help.
 The scope also extends to employees’ management including generation of pay
slips, recording attendance based on various site locations. Additionally
generation of various reports to management based on monthly expenses
incurred as per each construction site as well as office.
The system has three users as management, administrator/manager, and staff.
• The management will be full access rights of all the modules.
• Administrator / Manager will be having all the access rights except for the
finalizations of payments.
• Material requisition from the construction site as per work execution
• Issuance of purchase order as per material requisition received from the
site and cross-checking the requested material in the material planning.
• Management approval for the excess use of material than the planned
material.
• Administrator has a computer terminal at its end. Administrator Employee
record is added into database each time when new employee joins the
company.
• The payroll module concerns with keeping the record of each employee, all
the departments of the organization and all the categories of the employees.

Page - 9 -
Travel Management System

in the organization. It will also keep the track of all the allowances and deduction
details of the employee

 The payroll module calculates the employee’s pay according to the standards
including allowance and deduction. The allowance and deduction are decided
as per norms of the organization.
 System administrator should give required access privileges to each user.
MIS for each site on monthly basis.

Page - 10 -
Travel Management System

1.4 OPERATING ENVIRONMENT


– HARDWARE AND SOFTWARE

Development based on the customer requirements, technology

capability and the skills available, the following technologies are


implemented with the project.

Operating Environment

 Software Requirements

 Server:
 Technology : Odoo ERP / Open ERP
 Front end : Python, xml, js
 Back end : PostgreSQL
 Operating system : Windows / Ubuntu
 Server : AWS / Google Cloud

 Client:
 Operating system : Windows / Ubuntu
 Browser : Internet explorer 6.0 and above, Google Chrome, Mozilla
Firefox

Page - 11 -
Travel Management System

 Hardware Requirements
 Processor : Pentium 4 and Upwards
 RAM : 8 GB & above.
 Hard disk : 10 GB.

 Tools & Technologies used:


 PostgreSQL
 Pycharm Community Edition
 Python 3.7 or above

 Operators Requirements
Operator should have the Operating knowledge of Windows.

Page - 12 -
Travel Management System

2
CHAPTER
PROPOSED
SYSTEM
This chapter gives you an idea about the project which I have undertaken.
It explains the user requirements of the system to be developed leading
to proposing a solution for the same from our side. User requirements we
get from our client so it’s totally based on client need.

The World Wide Web and other Internet-based collaborative tools have significantly
enhanced the ability to coordinate the functions of the organization electronically. The
system provides significant new functionality in keeping of several functions, managing
the flow of the information and interacting with the management. The system provides
the effective mechanism for integrating many of these tools into a single interface and is
an ideal tool for managing the organization resources effectively.

This project for cloud-based ERP for Construction Management System, that helps to
maintain construction companies details such as client leads generated, tender leads
generated, clients / tenders won or lost, on-going construction sites reporting as per
reequipments, employee details, resources allocated to each project/site and running
Page - 13 -
Travel Management System

cost of project.

Page - 14 -
Travel Management System

Project will also keep the track of accounting system including accounts payable,
accounts receivable, general ledger and GST reports. The project aim also includes
integration of full-fledged employee management system which will maintain employee
details, generate pay slips, manage employees leaves, allowances etc.

2.1 PROPOSED SYSTEM

Module Description
The System has following Module:
 Tender Lead Management (TLM) / Customer Relationship Management
(CRM)
 Payroll

1. Tender Lead Management (TLM) / Customer Relationship Management


(CRM)

The TLM module includes the detailed description of name of project,


tendering authority, pre-bid meeting date, cost of work, period of completion etc.
This module will allow user to fill and upload all the important documents
related to the new lead generated. Additionally, in this module a provision for
the competitors’ information will be created to facilitate the best probability to
win the lead.

Page - 15 -
Travel Management System

2. Payroll

The Payroll Module handles any number of breakups of pay types and pay
frequencies, and it also maintains employee records, which include full
personnel details, allowance details, deduction details, leave details, etc. Here
we also maintain various methods of performance appraisal.

It contains following interfaces…

 Staff Registration
 Allowance Details
 Deduction Details
 Leave Details
 Staff Pay Slip Reports

3.MIS

This module aims at generation of various reports for its different levels of
management, as we can integrate various modules to give the user accurate
reports, which will help the management in decision-making.

Page - 16 -
Travel Management System

2.2 OBJECTIVE OF SYSTEM


Construction Management System is a complete end to end solutions to the
construction company to manage & utilize their resources in best ways. Each of the
department's work processes are in tandem with the systems. Business process which
enables user-friendliness to the software.
Construction Management System is integrated software which caters to the
operational needs of each of the department. Apart from storing and assembling data, it
also assists in the decision-making process relating to resource management. Easy and
quick access to all the projects (completed & on-going) related information is another
most important aspect of the system.
Proposed system is completely user efficient and helps better access to related
information the proposed system minimizes the effort in conducting analysis of the
completed & on-going construction projects.

There is no loss of information as all of data stored in secured databases. This


grammatically improves the working condition as there is no mismanagement of
important information.

This project basically aims at the following:

 To Facility easy maintenance of record of the materials, machinery,


documents & drawings, payroll.
 To check details of various records thought quick search provided in
the application.
 Quick access to all records.
 Reduce manual work.
 Generation of quick report.
 Prevent and reduce human error.

Page - 17 -
Travel Management System

2.3 USER REQUIREMENTS

The client wants to have the following functionalities from the system

 Any user should be able to log-in to the system using his/her


common login credentials used for all other odoo apps.
 Users can control their Sales activities from anywhere, at any
Time, using Odoo ERP.

 Tender or Clients should be organize sequence of activities per


Opportunity. Schedule activities.

 Send email to requestor and DM after a request is submitted.

 Send email to requestor and admin head when the DM


approves/rejects the request.

 Send email to respective tenders if the admin head approves the


request.

 Detect countries, states and cities of leads automatically from


visitors IP .address.

 Tender should be able to c a l c u l a t e % a m o u n t f r o m


Tender Amount and EstimatedAmount

 Employee should be able c a l c u l a t i o n f o r m u l a s f o r


different positions.

Page - 18 -
Travel Management System

2.4 FEASIBILIT STUDY


Y

 Technical Feasibility

As we know that technical feasibility centers on the existing


computer system (hardware, software, etc.) and to what extent it can
support the proposed addition. But in this case the situation is different.
Here there is no existing system at all. Everything needs to be
purchased. So each and every office should have the following for their
infrastructure

 Client/Server architecture.

 A good communication media-based network.

 Various System and Application Software installed the system.

 PostgreSQL.

 Python, xml, js

 On Server there should be Windows 10 as operating system.

 On clients Windows or later, Linux etc. running on them.

Thus, after fulfilling the above requirement the technical


feasibility will hold for the Travel Management System.

Page - 19 -
Travel Management System

 Behavioral Feasibility

As we know that people are inherently resistant to change and


computers have been known to facilitate change but in spite of these
Travel Management System is behaviorally feasible with its employee
users. On the introduction of new system it was required to educate and
explain the office staff on new way of doing the travel request. Employees
had shown interest in using the software. Nobody voiced resistance to
this idea of computerize the process of travel request.

 Legal Feasibility:

The system follows all the rule and regulation of our country and
world norms. Each active site individually and simultaneously commit
every change, or no site can commit the change. Such a solution is
obviously not feasible for large numbers of sites because of realities
such as network outages.

 Economic Feasibility

A system can be developed technically within the organization and that


will be used inhouse still be a good investment for the organization. In the
economic feasibility, the development cost in creating the system is
evaluated against the ultimate benefit derived from the new systems.
Financial benefits must equal or exceed the costs.
The system is economically feasible. It does not require any addition
hardware or software. Since the infrastructure for this system is developed
using the existing resources and technologies available at Harbinger. There
is nominal expenditure and economic feasibility for certain.

Page - 20 -
Travel Management System

 Operational Feasibility

Proposed projects are beneficial only if they can be turned out into
information system. That will meet the organization’s operating
requirements. Operational feasibility aspects of the project are to be taken
as an important part of the project implementation. Some of the important
issues raised are to test the operational feasibility of a project includes the
following:

 Is there sufficient support for the employees from the management?

 Will the system be used and work properly if it is being developed and
implemented?

 Will there be any resistance from the employee that will undermine the
possible application benefits?

 This system is targeted to be in accordance with the above-mentioned


issues. Beforehand, the employee issues and management requirements
have been taken into consideration. So there is no question of
resistance from the employees that can undermine the possible
application benefits.

 The well-planned design would ensure the optimal utilization of the


computer resources and would help in the improvement of performance
status.

Page - 21 -
Travel Management System

3
CHAPTER
ANALYSIS AND DESIGN
As we are using DOT NET framework for developing this application we are
designing our application by OOPS concept. So UML (Unified Modeling
Language) is the best way for represent this project. In this Chapter we will
explain this project by UML concepts and also database specifications.
Diagrams such as the Use Case Diagram, Class Diagram, and Module
Hierarchy Diagram etc. you will see in this chapter

 Use Case Diagram


 Class Diagram
 Activity Diagram
 Sequence Diagram
 Component Diagram
 Deployment Diagram

Page - 22 -
Travel Management System

3.1 USE CASE DIAGRAM

 Definitions and Symbols:

Use Case Diagram:

Use-case diagrams graphically depict system behavior (use cases).


These diagrams present a high level view of how the system is used as
viewed from an outsider’s (actor’s) perspective. A use-case diagram
may depict all or some of the use cases of a system.

 Actors:

Actor Name

 Use Case Name:

Use Case Name

 Association:

-------------------------->

Page - 23 -
Travel Management System

 System Use Case diagram.

It specifies the functionality of the complete system.

Page - 24 -
Travel Management System

 tended Use Case diagram : Travel Request

It specifies travel request created by an employee.

Page - 25 -
Travel Management System

3.2 CLAS DIAGRAM


S

 Definitions and Symbols of Class Diagram:

A class is a set of objects that share a common structure and common


behavior (the same attributes, operations, relationships and
semantics). A class is an abstraction of real-world items. When
these items exist in the real world, they are instances of the class
and are referred to as objects [1] [2] [3].

 hical Depiction:

A class icon is drawn as a 3-part box, with the class name in the top
part, a list of attributes (with optional types and values) in the
middle part, and a list of operations (with optional argument lists
and return types) in the bottom part

 ependency:

Page - 26 -
Travel Management System

 System Class Diagram

Page - 27 -
Travel Management System

Page - 28 -
Travel Management System

3.3 ACTIVITY DIAGRAM


Activity diagram depict the activities and responsibilities of elements that
make up a system. Activity modeling is a specialized type of behavioral
modeling concerned with modeling the activities and responsibilities of
elements

 Activity diagram for:

Page - 29 -
Travel Management System

Page - 30 -
Travel Management System

Page - 31 -
Travel Management System

Page - 32 -
Travel Management System

3.4 SEQUENCE DIAGRAM

A sequence diagram shows elements as they interact over time,


showing an interaction or interaction instance. Sequence diagrams are
organized along two axes: the horizontal axis shows the elements that are
involved in the interaction, and the vertical axis represents time
proceeding down the page. The elements on the horizontal axis may
appear in any order [1].

 System Sequence Diagram

In this diagram we are showing an overview of whole system that


how it is going to work. There is investor in the picture who plays role
to initiate this activity with the help of graphical employee interface.
Database is centralizing from where investors can gain their
information’s. Explanation is in figure as shown below.

Page - 33 -
Travel Management System

 Sequence diagram for Travel Management System :

Page - 34 -
Travel Management System

Page - 35 -
Travel Management System

Page - 36 -
Travel Management System

Page - 37 -
Travel Management System

3.5
COMPONEN DIAGRAM
T

A component diagram describes the components which are the parts


of the system that exists when the system is executing

Page - 38 -
Travel Management System

Page - 39 -
Travel Management System

3.6 DEPLOYMENT DIAGRAM

A deployment diagram captures how a system is configured,


installed, and executed. It often consists of component like software and
hardware communicates to execute the system

Page - 40 -
Travel Management System

4
CHAPTER
IMPLEMENTATION
 Input Screens
 Module Specifications
 Table Specifications

Page - 41 -
Travel Management System

4.1INPUT SCREEN

Following are the employee interface screen shots of the system modules.

 Main Home Page

Following is the screen shot of main home page which is entitled as Travel
Management System. It is also referred to as Login Screen

Fig 1: Login Screen : Used to log in into the system

Page - 42 -
Travel Management System

Fig 1.1 : Login Screen : Enter Login Details for an Employee

Fig 2.1 : Employee Dashboard : It is landing page after login.It shows


travel requests created by empoyee along with the their status.
Currently, employee has no travel request.

Page - 43 -
Travel Management System

Page - 44 -
Travel Management System

Page - 45 -
Travel Management System

Page - 46 -
Travel Management System

Fig 4.2 : Travel Request - Travel Details Form : This form includes travel
Page - 47 -
Travel Management System

details like type of travel, dates of travel, places of travel, other details like
meal preference, seat preference and accomodation details like hotel etc.

Page - 48 -
Travel Management System

1. Employees In the Employees module of HR management, you can see the company’s
employees and their details. To Create an employee click Create button from the Employees
scree

The following screen appears. From this screen add Employee’s name, public information’s such as
work address, department, job position etc, Private information’s and any other information’s about
the employee. Click Save button to save the new employee into the system.

Page - 49 -
Travel Management System

Contracts manages track of your employees’ status, job titles, contract type and
dates, and their schedule.

You can specify the salary structure and basic wage of an employee in salary information tab.

Page - 50 -
Travel Management System

The Departments menu shows you the list of department wise employees.

The Configuration menu allows to configure Job position, department, activity planning.

Page - 51 -
Travel Management System

2. Time off / Leaves Time off helps you to manage the leaves of all employees. Time off
module which provides calendar view and Gantt view helps to get a clear picture of leaves
taken in a week and a month. The year tab enables us to calculate the leave taken during a
year

➢ How to create time off request One can simply apply for leave with the Time-Off module.
To create a Time off request, go to My Time off -> My Time off request -> Create Once you
click the create tab a new window will open. There you can select the type of time off or leave.
The reason for time off including Doctor's consultation, personal or sick leave can be added
while creating.

Page - 52 -
Travel Management System

➢ Allocation Request
The allocation request is a feature that can be of use to an employee in certain situations. This
feature can be used when an employee needs special permission for availing of leave. For
example, an employee may have only 10 casual leaves a year. If the person wants to take 13
days of leave, he will require special approval. The employee can make use of the Allocation
Request Feature for doing this.

You can use this feature in the following steps,


My Time off -> My Allocation request -> Create Allocation requests you to send requests for
sanctioning paid or unpaid leave or legal leave

Time off allows you to create different leave types and it can be achieved by using the Time Off Types
feature. To create a new time odoo type go to Time Off-> Configuration-> Time Off Types

Page - 53 -
Travel Management System

Here, you can create a leave type by checking the required fields.

Time off allows you to specify the leave type and choose the required hours of leave. You can mark it
as a full day, half-day, or even mention the hours required. Besides, you can also fix the validity of the
request and can also manage the Allocation request mode such as: No limits - Where no allocation is
needed the user can freely request time off

Allow Employees Requests - This is allocated by HR and the user can request leave and allocation.
With this itself, you will also be able to define different approval associated with the allow employee
request option. Set by Time Off Officer - Allocated by the HR and cannot be bypassed. This will enable
the manager to allow the employee's request or manage it the way set by the Time Off Officer.
Similarly, we also have the Time off requests with different approval levels that are No Validation, By
Time Off Officer, By Employee's Manager, and Time Off Officer.
➢ Manager’s View Time off enables the manager to review the leave applications easily. The
manager can view the leave requests and take a decision on them. He can approve or refuse the
request. The comment of the manager can also be added.
This also enables the manager to report the leave-in payslips. The manager will also be able to get a
clear picture of the Time Off request submitted by all employees and the allocations for the
employees. Employee name, Time off type, duration, and other details can be viewed.

Page - 54 -
Travel Management System

Reporting
Time off: reporting provides analysis based on the Employee and by the Time off type also By
employee: The manager can view the left analysis of all employees. This will help the manager get an
idea about the leave pattern of employees

Page - 55 -
Travel Management System

By type This feature helps to get the mode of time off, leave validation details, allocation validation,
and other details.

3. Attendance Module
When the module is opened will direct to a check-in / check-out window. We can log in to the app
using the check-in / out arrow given on the screen. We can enable pins or barcodes to allow the
employee to log their attendance to the system.

➢ Configuration
In the attendance configuration, we can enable employee pins. This pin can then be used by the
employee to log their attendance. After enabling the pin, it can be used in kiosk mode. This feature
might come off as very helpful in the situation where the employee id or barcode is forgotten or not
generated yet.

Page - 56 -
Travel Management System

The IDENTIFY MANUALLY button can be used to make use of this employee PIN and sign in. Once the
sign-in is finished the employee attendance will be logged in the employee profile

➢ Creating Employee ID
The manager menu has the option to access both the employee details and the attendance details. In
the employee menu from the manager, a drop-down can direct you to the window of employees that
have been created in the company. Under the HR Settings, there is an option to feed the job position.
We can edit the employee details to include the PIN code and badge ID after enabling Employee PIN
in the configuration. The Badge ID can be generated from the same window using the generate
option

Page - 57 -
Travel Management System

This pin and badge are generated by the managers or the admin and can be modified when
necessary. It is then communicated to the employee for future reference. The auto-generated or
customized badge can be printed from the same window and is then ready for the employee to use.

The employee attendance will now be logged using this ID or the PIN.

➢ Employee Log
The employee can enter the kiosk mode and choose either the barcode scan option or the Identify
manually button. The barcode scanner would scan the employee badge ID as shown above. This is
then logged to mark their attendance. Instead, if they opt to identify manually, they will be redirected
to the employee dashboard where they can choose their respective employee card and enter the pin.

The same procedure can be followed by the employee to check out

Page - 58 -
Travel Management System

➢ Attendance overview
We can get an overview of the attendance of the employees from the attendance menu in the
manager drop-down. The details will be displayed as tabular data and can be alternated to the
kanban view.
The details of the employees' attendance can be exported as .xlsx files for any purpose as required
by the HR department. The daily check-in and check-out time will be displayed along with the total
work hours. more details of the employee attendance can be viewed under the reporting tab. This
feature is available in the list view of attendance.
We must change the list view if the attendance is displayed in Kanban. We can also access the details
of employee attendance from the employee's tab under the manager menu. Here we can view the
individual record for any employee. A quick overview of the work hours last month will be displayed
in the employee editing tab.

Page - 59 -
Travel Management System

➢ Attendance Analysis
From the reporting menu, we can avail of the attendance analysis of the employees. This would
display the month-wise attendance of the employees who use the Attendance module to log their
attendance. The analysis can be filtered according to the year, month and quarter. We can also add
any custom filters for attendance analysis.
➢ Attendance Overview
Various graphical views are available in reporting. We can shift between the views according to the
needs and wants of our users. Comparison with the previous year or period is also possible in the
reporting. The manager or admin can also have a look at their own attendance by applying the filter
my attendance. One of the substantial responsibilities of the human resource department is
simplified by the Attendance Module. The time-saving and hassle-free management can improve and
maximize the efficiency of all other Human Resource Management Modules

Page - 60 -
Travel Management System

4.2 MODULE SPECIFICATIO


The Travel Management System is divided into modules based on
the login of the user and the functions available after login will be based
on the type of the user.

 Login :

 For Login purpose, the web application will use SSO(Single Sign-
On) feature, meaning that the employee can use the same login
credentials as he/she uses for logging in to other applications of
the same company.

 For e.g. Using the same credentials of one Google account, we


can login to youtube, google playstore, duo, google maps, and
other google applications.

 Based on the employee id returned from the database, the


employee login will be categorized as Normal Employee login,
Delivery Manager login, or Admin Head Login.

 New Travel Request :

 When the employee logs in, he/she will be able to see a


dashboard of his/her travel requests. The dashboard will be
blank if the employee hasn’t made any travel request in the past.

 Employee will have an option to raise a new travel request. In the


travel request he/she will have to fill the following details :
 Travel Details : o Trip type
o Travel type
o Source city
o Destination city
o Departure date
o Return date
o Mode of travel
o Meal Preference
o Frequent Flyer Number
o Accommodation requirement,etc

Page - 61 -
Travel Management System

 Passport Detail : o Passport Number


(Applicable for o Place of issue
International o Date of issue
Travel) o Date of expiry
o Upload scanned copy

 Visa Details : o Visa number


(Applicable for o Visa country
International o Visa category
Travel) o Visa type
o Valid from
o Valid till
o Type of entry
o Additional visa

 Insurance : o Nominee name


Details o Relationship with employee
o Date of birth
o Share to be paid
o Address

 After filling these details and submitting the request, all the details
will be stored in the database and an acknowledgement email will
be sent to the employee. Also, email will be sent to his/her Delivery
Manager informing about the new request and ask to approve or
reject the request.

 The employee dashboard will now have the request details


that he/she has made along with its approval status.

 Options will be given to view or edit the details he/she has filled.

 Employee will be able to reschedule his/her trip.

 Also, after the trip he/she can upload all the bills associated with
his/her tour.

Page - 62 -
Travel Management System

 Delivery Manager Approval:

 The delivery manager dashboard will have two tabs – one to


display his/her own travel requests, and another to display the
pending approvals that he/she has.

 In the pending approvals tab, the details of the basic travel


request details will be displayed of each request that is
received. Option will be given to view the full travel request
details that an employee has filled.

 After reviewing the details, the Delivery Manager can either


approve or reject the request. Before approving, an option will
be given to select whom to charge the travel expense, as
sometimes the company spares the expense, while sometimes
client does it.

 If the request is to be rejected, then the DM can specify the


reason for rejection. If the request is approved then an email is
sent to the requestor informing him/her the request status and
another email to admin head informing him/her about the
request and ask for approval.

 The Delivery Manager can also send the travel request back to
the employee for corrections.

 Admin Head :

 After viewing the travel request details and the approximate


expense required for the travel, the admin head will either
approve or reject the travel request.

 If the request is approved then an email is sent to the requestor


informing him/her the request status.

 After the request is approved by admin head, if the employee is


not having his/her own business cards, then request email will
be sent to the card printing vendor along with the required
details of the employee. Also, appropriate emails will be sent to
transport, accommodation and other vendors for booking
requests.

 The admin head will be able to view the bills that an


employee has submitted after his/her trip is complete
Page - 63 -
Travel Management System

 Email Module

 This module is responsible for triggerring email API on


different events including request submission, approval or
rejection of request, International request generation, In case
employee does not have a business card, or If the passport or
visa of the employee is expiring soon

 Dashboard

 It is a common module used by all the users of the system


which is basically for tracking status at each level in the
flow of a travel request. Employee has dashboard to check
status of his request. Delivery manager has dashboard with
two sections that is “My requests” where he can view
his/her requests. And “Pending request” where he/she can
either approve a request generated by employees or reject
or can return request for corrections incase of any
correction needed.

 Travel booking vendor will have dashboard to view requests


and accordingly prepare budget for expenses of each
request. Admin will have to check feasibility and
accordingly approve if everything is within budget.

 File Module :

 When user uploads a file,it is to be converted into base 64 string


and sent to backend via api call. Backend then converts base 64
into file and store on disk with db insertion and sends file link
which is hosted on server as response

Page - 64 -
Travel Management System

4.3 TABLE SPECIFICATION

Login : Stores user login information

Sr. No. Field Name Data Type Constraint Reference


1 user_name String Not Null
2 user_id Number Primary Key
3 password String Not Null

AccessType : Detemines the type of user like employee, manager or admin

Sr. No. Field Name Data Type Constraint Reference


1 user_id Number Foreign Key Login
2 access_type String Not Null

Tender lead

Dashboard : Stores basic information about the tender

Sr. No. Field Name Data Type Constraint


1 Tendering_Authority char Primary Key
2 Name_Of_Work char Foreign Key
3 Tender_ID integer Not Null
4 Tender_No integer Foreign Key
5 Project_duration integer Foreign Key
6 Pre_bid_meeting_date date Foreign Key
7 Last_date_of_applica date Not Null
tion
8 Tender_amount integer Foreign Key
9 Estimated_amount integer Not Null
10 Per_amount integer Not Null
11 Estimated_revenue integer Not Null

Page - 65 -
Travel Management System

Competitors Data : Stores basic information about the competitors.

Sr. No. Field Name Data Type Constraint Related


Model
1 comp_line_ids one2many Primary Key comp.lead
2 Per_amount integer

States and Statusbar : Stores Tender form using states

Sr. No. Field Name Data Type Constraint


1 state selection Not Null

Chatter : Stores the log activities and log note

Sr. No. Field Name Data Type Constraint Related


Model
1 message_follower one2many Not Null mail.follower
_ids
2 activity_ids one2many Not Null mail.activity

3 message_ids one2many Not Null mail.message

Page - 66 -
Travel Management System

Clients : Stores basic information about the clients.

Sr. No. Field Name Data Type Constraint Reference


1 activity boolean Not Null
2 name char Not Null
3 street char Not Null
4 street2 char Not Null
5 city char Not Null
6 state_id many2one Not Null
7 zip char Not Null
8 country_id many2one Not Null
9 gst_treatment selection Not Null
10 gstin char Not Null
11 function char Not Null
12 phone int Not Null
13 mobile int Not Null
14 email_from char Not Null
15 website char Not Null

Page - 67 -
Travel Management System

Payroll

Employee Payslip : Stores details related to employee payslip.

Sr. No. Field Name Data Type Constraint Reference


1 employee_id Many2one Not Null
2 date_from date Not Null
3 date_to date Not Null
4 number char Not Null
5 name char Not Null
6 contract_id many2one Not Null
7 struct_id many2one Not Null
8 credit_note boolean Not Null

Worked Days : Stores basic information about the worked days.

Sr. No. Field Name Data Type Constraint Reference


1 worked_days_line_i one2many Not Null
ds
name
2 char Not Null
3 contract_id many2one Not Null
4 input_line_ids char Not Null
5 contract_id many2one Not Null
6 line_ids one2many Not Null
7 details_by_salary_ru one2many Not Null
le_category
8 payslip_run_id many2one Not Null
9 paid boolean Not Null
10 note text Not Null

Page - 68 -
Travel Management System

Payslip Batches : Stores the the details of payslip batches/payslips.


Sr. No. Field Name Data Type Constraint Reference
1 name char Not Null
2 date_start date Not Null
3 date_end date Not Null
4 credit_note boolean Not Null
5 slip_ids one2many Not Null
6 state selection Not Null

Page - 69 -
Travel Management System

Employee : Stores the basic informatons of employees.

Sr. No. Field Name Data Type Constraint Reference


1 job_title char Foreign Key
2 category_ids many2many Not Null
3 image_1920 binary Not Null
department_id
4 many2one Not Null
5 coach_id many2one Not Null

Work :

Sr. No. Field Name Data Type Constraint Reference


1 address_id many2one Not Null
2 leave_manager_id many2one Not Null

Private :

Sr. No. Field Name Data Type Constraint Reference


1 Address_home_id many2one Not Null
2 km_home_work integer Not Null
3 country_id many2one Not Null
4 identification_id char
5 gender selection
6 birthday date
7 country_of_birth many2one
8 marital selection
9 children integer
10 emergency_contacts char
11 emergency_phone char
12 visa_no char
13 permit_no char
14 visa_expire date
15 certificate selection
16 study_field char
17 study_school char

Page - 70 -
Travel Management System

HR Settings :

Sr. No. Field Name Data Type Constraint Reference


1 user_id many2one
2 job_id many2one
3 pin char
4 barcode char

Contracts :

Sr. No. Field Name Data Type Constraint Reference


1 employee_id many2one
2 department_id many2one
3 job_id many2one
4 struct_id many2one
5 structure_type_id many2one
6 date_start date
7 date_end date
8 resource_calender_i many2one
d
9 schedule_pay selection
10 hr_responsible_id many2one

Salary Information :

Sr. No. Field Name Data Type Constraint Reference


1 wage monetory
2 hra monetory
3 da monetory
4 travel_allowance monetory
5 meal_allowance monetory
6 medical_allowance monetory
7 other_allowance monetory

Page - 71 -
Travel Management System

Salary Structure :

Sr. No. Field Name Data Type Constraint Reference


1 name char
2 parent_id many2one

3 code char

4 rule_ids many2many

Page - 72 -
Travel Management System

Travel_Bill : Stores information about expenses made on a trip

Sr. No. Field Name Data Type Constraint Reference


1 travel_bill_id Number Primary Key
2 user_id Number Foreign Key Login
3 expense_charged_to String Foreign Key Expenses
4 expense_category String Not Null
5 bill_image String Not Null

Expenses : Stores and defines information related to expenses

Sr. No. Field Name Data Type Constraint Reference


1 exp_id Number Primary Key
2 expense_charged_to String Not Null
3 expense_category String Not Null
4 notes String -

Mailing_Records : Stores mail records

Sr. No. Field Name Data Type Constraint Reference


1 mailing_id Number Primary Key
2 travel_id Number Foreign Key Travel_Request
3 email_category String Foreign Key Email_MasterData
4 mail_subject String Not Null
5 mailed_to String Not Null
6 mailed_on String Not Null
7 mail_contents Number Primary Key
mail_delivery_
8 status String Not Null

Email MasterData : Stores information of teams that need mail notification

Sr. No. Field Name Data Type Constraint Reference


1 email_id String Primary Key
2 email_name String Not Null
3 email_category String Not Null
4 email_address String Not Null

Page - 73 -
Travel Management System

5
CHAPTER
TESTING
 Test Procedures and Implementation
 Test cases

Page - 74 -
Travel Management System

5.1 TEST PROCEDURES AND


IMPLEMENTATION

Testing plays a critical role in quality assurance for software. Due to


the limitation of the verification method for the previous phases, design
and requirement fault also appear in the code. Testing is used to detect
these errors, in addition to the error introduced during coding phase.

Testing is a dynamic method for verification and validation, where the


system is to be tested is executed and behavior of the system is observed.
Due to this testing the failure of the system can be observed, from which
the presence of fault can be deduced. However, separate activities have to
be performed to identify the faults.

 Objectives of Testing

 Testing is the process of executing a program with the intent


of finding a bug.

 A good case is one that has a high probability of finding an as yet


undiscovered error.

 A successful test is the one that uncover yet an undiscovered error.

 Methods of Testing

 Functional Testing : In functional testing, the internal logic of the


system under testing is not considered and the test cases are
decided from the specification or the requirements. It is often
called “Black Box Testing”.

 Structural Testing : In structural testing, the test cases are decided


entirely on the internal logic of the program or module being
tested.

Page - 75 -
Travel Management System

As the goal of testing is to detect any errors in the programs different


flavor of testing are often used. Unit testing are used to test module or a
small collection of modules and the focus is on detecting coding errors in
modules. During integration testing modules are combined into sub-
system, which are then tested. The goal here is to test the system design.
In system testing and acceptance testing, the entire System is tested. The
goal here is to test the requirement themselves. Structural testing can be
used for unit testing while at higher level mostly functional testing is used.

UNIT TESTING

MODULE
TESTING

Component
SUB-SYSTEM
TESING

SYSTEM TESTING
Integration Testing

ACCEPTANCE
TESTING
User Testing

 Unit Testing

Unit testing focuses verification effort on the smallest unit of software


design, the module. The unit testing we have is white box oriented and
some modules the steps are conducted in parallel.

Page - 76 -
Travel Management System

 White Box Testing

This type of testing ensures that


All independent paths have been exercised at least once
All logical decisions have been exercised on their true and false sides
All loops are executed at their boundaries and within their operational
bounds
All internal data structures have been exercised to assure their validity.

 Black Box Testing

This testing method considers a module as a single unit and checks the
unit at interface and communication with other modules rather
getting into details as statement level. Output for a given set of input
combinations are forwarded other module.

 Integration Testing

Integration Testing is any type of software testing that seeks to verify the
interfaces between components against a software design. Software
components may be integrated in an interactive way or all together ("big
bang"). Normally the former is considered a better practice since it allows
interface issues to be localized more quickly and fixed.
Integration testing works to expose defects in the interfaces and interaction
between integrated components (modules). Progressively user groups of
tested software components corresponding to elements of the architectural
design are integrated and tested until the software works as a software.

 System Testing

SystemTesting tests a completely integrated system to verify that it


meets its requirements. The testing phase is an important part of
software development, It is the process of finding errors and
missing operations and also a complete verification to determine
whether the objectives are met and the user requirements are
satisfied.

Page - 77 -
Travel Management System

 Acceptance Testing

Acceptance testing is performed with realistic data of the client to


demonstrate that the software is working satisfactorily. Testing here is
focused on external behaviour of the system; the internal logic of the
program is not emphasized.
It is the process of finding errors and missing operations and also a
complete verification to determine whether the objectives are met and
the user requirements are satisfied.
Acceptance testing is performed along with the client to show that to see
that all requirements are satisfied whatever may be the attributes its
working well provided all the attributes are valid. If not it displays
corresponding messages for getting valid attributes.

 Alpha Testing

Alpha testing is simulated or actual operational testing by potential


users/customers or an independent test team at the developers site. Alpha
testing is often employed for off-the- shelf software as a form of internal
acceptance testing, before the software goes to beta Testing.

 Beta Testing

Beta testing comes after alpha testing and can be considered a form of
external user acceptance testing. Versions of the software, known beta
versions, are released to a limited audience outside of the programming
team. The software is released to groups of people so that further testing can
ensure the products have few faults or bugs.
Sometimes, beta versions are made available to the open public to increase
the feedback filled to a maximal number of future users.

 Usability Testing

Usability testing is needed to check if the user interface is casy to use and
understand. It is connected mainly with the use of the application

 Security Testing

Security testing is essential for software that processes


confidential data to prevent system intrusion by hackers.

Page - 78 -
Travel Management System

5.2 TEST CASES

Test cases list the specific items that will be tested and describe the
detailed steps that will be followed to verify the software. There are two
fundamental approaches to testing software: test-to-pass and test-to-fail,
when you test-to-pass, you really ensure only that the software minimally
works. You don’t push its capabilities. You don’t see what you can do to
break it. You treat it with kid gloves, applying the simplest and most
straightforward test cases.
You may be thinking that if your goal is to find bugs, why would you
test-to-pass? Wouldn’t you want to find bugs by any means possible? The
answer is no, not initially.
Think about an analogy with a newly designed car. You are assigned
to test the very first prototype that has just rolled off the assembly line and
has never been driven. You probably wouldn’t get in, start it up, head for
the test track, and run it wide open at full speed as hard you could. You
would probably crash and die. Use test-to-pass to reveal bugs before you
test-to- fail.
In Travel Management System market there are many test cases that
are applied. Some of them shown below like GUI testing, Login, Database
etc.

 Implementing Test Cases

 Manual Testing

There are three main methods of manually implementing test cases. These
are building test cases into your classes, creating a test script and creating
a separate testing hierarchy. Building Test Cases into your Classes When
building test cases into your classes create test methods such as Test Class;
test Objects Foxx for verifying the workings of classes and its instances. The
test Class methods would test the associated class methods, create
instances of the class, put these objects into default or specified states, and
test the objects with related test cases. One can inherit and reuse test cases
from the super class for subclass testing.

Page - 79 -
Travel Management System

 Creating a Test Script

This method involves creating an entirely separate test application. This


application should: create a set of objects, send them messages, and
compare the actual results to the expected results. This approach is simple
but it makes inheriting test cases difficult.

 Creating a separate Test Hierarchy

The benefits of creating a separate test Hierarchy is that it separates out


the testing code from real code. Reuse of test cases can easily be achieved
through inheritance, however this means that the two sets of code, the test
code and real code, must be maintained together.

 Conclusions

Application software system has been developed to case out the problems
faced in the present system. The system described in this book have
designed, Tested and documented to same greater extent. This package is
expected to prove to be very useful to the “Online Shopping”.
The goals that are expected to achieve by the software are:
 Simplification of the operation.
 Less processing time and increasing the productivity.
Each transaction is updated and processed immediately.
 Avoiding errors by minimizing human interaction through user
friendly screens to enter data and Enquirers the information from
the tables on like message.
 Portable and flexible for further enhancement.
After developing the system, it has been tested with sample data and the
results are found to be in satisfaction. The system is user friendly are and
easy to use prescribed by the standards have been followed in designing
the input screens lending to consistency. Across forms and reduced user
strains.

Page - 80 -
Travel Management System

TEST CASE SCENARIO STEPS TO EXPECTED ACTUAL PASS


ID TO TEST PERFORM RESULT RESULT /FAIL
TC LOGIN 1 Log-in into 1. Open the log Application Log in into Pass
application in page of the should Application is
as Tender application. except valid successful
/Manager/ user name and
Admin 2. Enter the valid valid password
Head user name. entered by user
and should
3. Enter valid redirect user to
password. respected
dashboard.
4.Click on
Log in button.

TC LOGIN Log in into 1. Open the log Application Log in Pass


1.1 application in page of the should not denied with
application. accept invalid appropriate
user name. message
2. Enter the valid
user name. Application
should throw
3.Enter valid message
password. “Invalid
4.Click on Credentials”.
Log in button.

TC LOGIN Log in into 1.Open the log Application Log in Pass


1.2 application in page of the should not denied with
application. accept invalid appropriate
user name. message
2. Enter the valid
user name. Application
should throw
3. Enter valid message
password. “Invalid
Credentials”.
4.Click on Log
in button.

Page - 81 -
Travel Management System

TEST SCENARIO STEPS TO EXPECTED ACTUAL PASS


CASE ID TO TEST PERFORM RESULT RESULT /FAIL
TC New If user is 1.Click on 1.Validation errors 1.Validation Pass
Tender new to the New details on should be errors
system the displayed with displayed with
2 dashboard. respected fields of respected
Tender fields of
2. Tender Tender
tab will 2.Form should not
open . be redirected to
next tabs. 2.Form not
3.Click on next. redirected to
next tabs.

TC New If user is 1.Click on New 1.Validation errors 1.Validation Pass


new to the Competitors should be errors
system Tab on the displayed with displayed with
Competit dashboard. respected fields of respected fields
ors Competitors of
2.1 Details.
2. Competitors Competitors
Details.
tab will be opened 2.Form should not
and be redirected to next 2.Form not
fill all the tabs. redirected to
required details next tabs.
now click next.
3. Competitors
Details
tab will open
,now click on
next.

Page - 82 -
Travel Management System

TC New If user is 1.Click on New Form will get Form Pass


Clients new to the Clients request on submitted. Submitted
system and the dashboard.
2.2 if user
select 2. Clients tab
from will be
Clients opened and
details fill all the
required
details now click next.

3. Clients
Details tab will open

Fill all the required


details.

TC New If user is 1.Click on New Form will be Form Pass


Schedule new to the Activity on redirected to redirected to
Activity clients tab. clients tab.
system and the dashboard.
2.3 if user
select 2. Schedule Activity tab
Schedule will be
Activity
opened and
fill all the
required details,now
click next.

3. Schedule Activity
tab will open.

Page - 83 -
Travel Management System

TC New If user is 1. Click on New 1. Validation 1. Validation Pass


Payslip new to the employee payslip errors should errors
2.4 system on the dashboard. be displayed displayed
create new with with
form for 2. Employee payslip respected fields respected
Payslip tab will open and fill of Payslip fields of
details all the required Details. payslip
details and click next. Details.
3. Payslip Details tab 2. Form should
will open not be 2. Form not
redirected to redirected to
4. For save the payslip next tabs i.e next tabs i.e
details click on payslip batches. payslip
confirm button. batches

TC New If user is new 1. Click on New Form will be Form Pass


Employe to the system new employee on redirected to redirected to
e and if user the dashboard. Visa Details Visa Details
2.5 select l from
payslip 2. Employee tab will
details open and fill all the
required
details and click next.
3.Employee Details
tab will open

Page - 84 -
Travel Management System

TC New If user is new 1. Click on New Salary 1.Validation 1.Validatio Pass


Salary to the system structure tab on the errors should n errors
Structure and if user dashboard. be displayed displayed
2.6 select from with with
Salary 2. Employee Master tab will respected respected
details. open and fill all the required fields of fields of
details and click next. Salary Salary
Details.
3. Salary Details tab will open
Details.

2.Form
should not 2.Form not
be submitted.
submitted.

TC Time If user is new 1. Click on Time off on the Form will Form Pass
off 2.7 to the system dashboard. get submitted.
and if user submitted.
select from 2. Time off tab will
Time off open and fill all the required
details. details and click next.

3. Time off tab will open

Page - 85 -
Travel Management System

6
CHAPTER
USER MANUAL
For any system to be successful it is important that the intended user find
the system easy to operate. The purpose of the user manual is to make user
acquainted with the system and help employee understand the system and
operate it conveniently. The manual contain several screenshots that
describes how to use the entire system.

 Application Description

Page - 86 -
Travel Management System

USER MANUAL
For any system to be successful it is important that the intended
user find the system easy to operate. The purpose of the user manual is to
make user acquainted with the system and help user understand the
system and operate it conveniently. The User Manual is prepared
reflexively because it is an item that must accompany every system.
The manual contain several screenshots that describes how to use
the entire system. This Manual helps user to navigate efficiently through
the system and help user to solve issues wherever they occur.

 Information about the system.

 The system contains following users:


o Employee
o Manager
o Admin

 The system has following features:


o Employee Registration
o Creation of new employee, tender, client.
o Save/Discard.
o Uploading of image various documents.
o Editing of Master data tables
o Payslip and Report generation

 Working of the system.

 Log in into the system using LDAP credentials. You are redirected to
dashboard after successful credential verification of Username and
Password.
Page - 87 -
Travel Management System

This tab denotes the dashboard, which contains all the travel
requests made by the user.

 In case of Manager and Admin Head, dashboard contains following


two tabs:

This tab in the dashboard, contains all the travel requests made
by the manager/admin head.

This tab in the dashboard, indicates all the travel requests made
by the user that are pending for approval from manager/admin head.

This tab in navigation bar is used to create new travel


request.

 New Travel Request contains following tabs:

Fill user details such as name, employee ID, company, designation,


gender, approval manager, mobile number, project, etc.

Fill here all the travel details such as location,


TLM departure date, return date, trip type, meal
preference, booking details, accommodation
etc.

Fill all the passport related information here.


PIPELINE
Fill nominees here for insurance.

Fill all the visa related information here.

Page - 88 -
Travel Management System

Page - 89 -
Travel Management System

Page - 90 -
Travel Management System

Utility : This “UPLOAD” button is used to upload


documents such as passport, visa, bills etc.
It generates a popup
window as shown:
Select the files to
upload by using
“BROWSE” button and
click on “UPLOAD” to
upload.
Here, it is example of
passport upload.
 Symbols

Symbol Meaning
Denotes approval status: Request is pending.
Denotes approval status: Request is approved.
Used to view form or other details.
Used to edit form or other details.
Used to delete.
Used to upload bills.

 Buttons

Go to previous tab or Submit request, bill


Go to next tab or page
page.. etc.

Return travel request


Approve travel request. Reject travel request. for correction.

Page - 91 -
Travel Management System

7
CHAPTER
DRAWBACKS AND
LIMITATIONS
This part of documentation will explain drawbacks and limitation that are
in Travel Management System Market Application.

Page - 92 -
Travel Management System

DRAWBACKS AND LIMITATIONS

 Drawbacks

 System requires a high speed broadband internet connection.

 Employee neither download nor print his/her travel request


application.

 If the master data values are changed, it won’t be reflected on


previously stored data.

 There should be at least one record in each of the master data table.

 Limitations

 The size of the database increases day-by-day, increasing the load on


the database back up and data maintenance activity.User cannot
change password in this system.

 User need to change it through Success factor.

 The employee must be part of Harbinger payroll. The contract based


employees can’t access it.

Page - 93 -
Travel Management System

8
CHAPTER
PROPOSED
ENHANCEMENTS
The future enhancements of the Travel Management System are proposed
in this chapter. It gives us the insight about the area and field where these
enhancements can be made.

Page - 94 -
Travel Management System

PROPOSED ENHANCEMENTS

In this travel management system we are going to introduce online


booking of travel. So the effort taken for the manual process will be
automated. Our Aim is to design and create a Travel Management System
for a Harbinger company. This enables employee to create a travel
request that can be approved by immediate manager and then admin
head.

 This software has a very user friendly interface. Thus the


employees will feel very easy to work on it. By using this system
admin can manage their travel requests, booking, payment, other
issues like visa, passport, accommodation etc.

 Option will be given to user to apply for new visa, in case if he/she
does not have a visa of the destination country.

 Agents can be added to the system so that they can provide various
travelling and accommodation options. This will help the team to
make the best decision for all the pre-requites needed for travelling.

 We can even add budget planning to the application.

 We can also implement SMS service for real-time updates.

Page - 95 -
Travel Management System

9
CHAPTER
CONCLUSIONS
This part concludes Travel Management System in brief explanation and also
specifies operation performed in the application.

Page - 96 -
Travel Management System

CONCLUSIONS
The main purpose of Travel Management System is to facilitate easy
processing of a travelling request made by an employee.

 The system provides a great flexibility for the Admin team and the
employees.

 It helps in maintaining efficient communication between


employees and the managers regarding the travel
requests.

 The system helps to reduce greater amount of manual work.

Page - 97 -
Travel Management System

10
CHAPTER
BIBLIOGRAPHY

The Bibliography chapter contains all the reference books, websites or other
reference material details used in order to make this report worthwhile.

Page - 98 -
Travel Management System

BIBLIOGRAPHY

 Udemy Courses

o The Complete Node.js Developer Course (3rd Edition)


Created by Andrew Mead, Rob Percival

o Learn and Understand NodeJS


Created by Anthony Alicea

o Node.js: The Complete Guide to Build RESTful APIs (2018)


Created by Mosh Hamedani

 Documentation and Books

o Node.js v12.16.1 Documentation by Node Organization

o Pro React 16 by Adam Freeman

o Learning React A Hands-On Guide to Building Web Applications


Using React and Redux (2nd Edition) by Kirupa Chinnathambi

o Practical Node.js: Building Real-World Scalable Web Apps


By Azat Mardan

o Mastering Node.js - Second Edition by Sandro Pasquali and


Kevin Faaborg

 Web reference:

o http://node.org /learn

o http://udemy.com

Page - 99 -
Travel Management System

11
CHAPTER
ANNEXURE
This section of report specifies Input and Output Forms as report and also
some sample code which is describes in this section.

 Technology used
 Sample Code

Page - 100 -
Travel Management System

11.1 TECHNOLOGY USED

 Front End : React JS


 Declarative

React makes it painless to create interactive UIs. Design simple views for
each state in your application, and React will efficiently update and render
just the right components when your data changes. Declarative views
make your code more predictable and easier to debug.

 Component-Based

Build encapsulated components that manage their own state, then


compose them to make complex UIs.
Since component logic is written in JavaScript instead of templates, you
can easily pass rich data through your app and keep state out of the DOM.

 Learn Once, Write Anywhere

We don’t make assumptions about the rest of your technology stack, so


you can develop new features in React without rewriting existing code.
React can also render on the server using Node and power mobile apps
using React Native.

 A Simple Component

React components implement a render() method that takes input


data and returns what to display. This example uses an XML-like
syntax called JSX. Input data that is passed into the component can
be accessed by render() via this.props.
JSX is optional and not required to use React. Try the Babel REPL to
see the raw JavaScript code produced by the JSX compilation step.

Page - 101 -
Travel Management System

 A Stateful Component

In addition to taking input data (accessed via this.props), a component


can maintain internal state data (accessed via this.state). When a
component’s state data changes, the rendered markup will be updated
by re-invoking render().

 An Application

Using props and state, we can put together a small Todo application.
This example uses state to track the current list of items as well as
the text that the user has entered. Although event handlers appear to
be rendered inline, they will be collected and implemented using
event delegation.

 A Component Using External Plugins

React allows you to interface with other libraries and frameworks.


This example uses remarkable, an external Markdown library, to
convert the <textarea>’s value in real time.

 Middleware : Node JS :

 As an asynchronous event-driven JavaScript runtime, Node.js is


designed to build scalable network applications.

 This is in contrast to today's more common concurrency model, in


which OS threads are employed. Thread-based networking is
relatively inefficient and very difficult to use. Furthermore, users of
Node.js are free from worries of dead-locking the process, since
there are no locks. Almost no function in Node.js directly performs
I/O, so the process never blocks. Because nothing blocks, scalable
systems are very reasonable to develop in Node.js.

 Node.js is similar in design to, and influenced by, systems like


Ruby's Event Machine and Python's Twisted.

Page - 102 -
Travel Management System

 Node.js takes the event model a bit further. It presents an event loop
as a runtime construct instead of as a library. In other systems,
there is always a blocking call to start the event-loop.

 Typically, behavior is defined through callbacks at the beginning of a


script, and at the end a server is started through a blocking call like
EventMachine::run().

 In Node.js, there is no such start-the-event-loop call. Node.js simply


enters the event loop after executing the input script. Node.js exits
the event loop when there are no more callbacks to perform. This
behavior is like browser JavaScript — the event loop is hidden from
the user.

 HTTP is a first-class citizen in Node.js, designed with streaming and


low latency in mind. This makes Node.js well suited for the
foundation of a web library or framework.

 Node.js being designed without threads doesn't mean you can't take
advantage of multiple cores in your environment. Child processes
can be spawned by using our child_process.fork() API, and are
designed to be easy to communicate with. Built upon that same
interface is the cluster module, which allows you to share sockets
between processes to enable load balancing over your cores.

 Backend : MongoDB :

 MongoDB is a document database with the scalability and flexibility


that you want with the querying and indexing that you need.

 MongoDB is a cross-platform document-oriented database


program. Classified as a NoSQL database program, MongoDB
uses JSON-like documents with schema. MongoDB is
developed by MongoDB Inc. and licensed under the Server Side
Public License (SSPL).

Page - 103 -
Travel Management System

 Ad hoc queries

MongoDB supports field, range query, and regular expression searches.[9]


Queries can return specific fields of documents and also include user-
defined JavaScript functions.
Queries can also be configured to return a random sample of results of a
given size.

 Indexing
Fields in a MongoDB document can be indexed with primary and
secondary indices.

 Replication

MongoDB provides high availability with replica sets. A replica set consists
of two or more copies of the data. Each replica set member may act in the
role of primary or secondary replica at any time. All writes and reads are
done on the primary replica by default. Secondary replicas maintain a
copy of the data of the primary using built-in replication. When a primary
replica fails, the replica set automatically conducts an election process to
determine which secondary should become the primary. Secondaries can
optionally serve read operations, but that data is only eventually
consistent by default.

 Load balancing

MongoDB scales horizontally using sharding. The user chooses a shard


key, which determines how the data in a collection will be distributed. The
data is split into ranges (based on the shard key) and distributed across
multiple shards. (A shard is a master with one or more replicas.).
Alternatively, the shard key can be hashed to map to a shard – enabling
an even data distribution.
MongoDB can run over multiple servers, balancing the load or duplicating
data to keep the system up and running in case of hardware failure.

 Capped collections

MongoDB supports fixed-size collections called capped collections.


This type of collection maintains insertion order and, once the
specified size has been reached, behaves like a circular queue.

Page - 104 -
Travel Management System

 File storage

MongoDB can be used as a file system, called GridFS, with load balancing
and data replication features over multiple machines for storing files.
This function, called grid file system, is included with MongoDB drivers.
MongoDB exposes functions for file manipulation and content to
developers. GridFS can be accessed using mongofiles utility or plugins for
Nginx and lighttpd. GridFS divides a file into parts, or chunks, and stores
each of those chunks as a separate document.

 Aggregation

MongoDB provides three ways to perform aggregation: the aggregation


pipeline, the mapreduce function, and single-purpose aggregation
methods.
Map-reduce can be used for batch processing of data and aggregation
operations. But according to MongoDB's documentation, the Aggregation
Pipeline provides better performance for most aggregation operations.
The aggregation framework enables users to obtain the kind of results for
which the SQL GROUP BY clause is used. Aggregation operators can be
strung together to form a pipeline – analogous to Unix pipes. The
aggregation framework includes the $lookup operator which can join
documents from multiple collections, as well as statistical operators such
as standard deviation.

 Server-side JavaScript execution

JavaScript can be used in queries, aggregation functions (such as


MapReduce), and sent directly to the database to be executed.

 Transactions

Support for multi-document ACID transactions was added to MongoDB


with the General Availability of the 4.0 release in June 2018.

Page - 105 -
Travel Management System

11.2 SAMPL CODE


E

import {companymodel,locationmodel, designationmodel} from


'../../../mongo-models/masterdataschema';
import{managermodel, visamodel, relativemodel} from '../../../mongo-
models/masterdataschema';
import csc from 'country-state-city';
import cities from 'all-the-cities';

/**
* Mastertest : Master Data Controller-Retrieves data from various
collections of database of master tables.
* @param {object} data http req
* @returns {object} data http res,json
*/

export const mastertest= async(req,res)=>


{
try
{
//get data from body. User Id as payload
const data= req.body;

//get data from different collections


//shows only 5 objects from each collection because of limit
const companyInfo= await companymodel.find();
const locationInfo=await locationmodel.find();
const designationInfo= await designationmodel.find().skip(5* (1-1));
const managerInfo=await managermodel.find().skip(7* (1-1));
const visaInfo=await visamodel.find();
const relativeInfo=await relativemodel.find();

//get all countries


const country = csc.getAllCountries();
Page - 106 -
Travel Management System

//variable for iteration


let i;

//get only country name


for(i=0;i<country.length ;i++)
country[i]=country[i].name;

//get only country name


for(i=0;i<cities.length ;i++)
cities[i]=cities[i].name;

//display data in form of json objects from different collections


return res.status(200).json({companyInfo , locationInfo,
designationInfo ,
managerInfo , visaInfo, relativeInfo, country, cities
});

}catch(error){

//display error, if any


res.status(500).json({error});
}
}

Page - 107 -

You might also like