Screenshot 2024-04-10 at 5.57.34 PM
Screenshot 2024-04-10 at 5.57.34 PM
Project Report
On
Guided By
SSBES’S
Institute of Technology & Management Nanded
Affiliated to
2022-2023
Shri ShardaBhavan Education Society’s
INSTITUTE OF TECHNOLOGY & MANAGEMENT
VIP Road, Nanded-431 602(M.S.), INDIA
www.ssbesitm.org E-mail [email protected] (Ph.02462-254850, 253471)
President Vice-President
Hon. Ashok ShankarraoChavan Mrs. AmitaAshokraoChavan
B.Sc., M.B.A.
Secretary Joint Secretary Treasurer Director
D.P.Savant Adv.Uday S. Nimbalkar Dr.Raosaheb K. Shendarkar Dr. S.B.Thorat
B.Sc. (Hons.) B.Com., L.L.B. M.A.(Eco.)Ph.D. Ph.D.
College has been included under section 2 (f) & 12 (B) of the UGC Act, 1956
Recognized by Govt. of Maharashtra, Approved by A.I.C.T.E., New Delhi & Affiliated to S.R.T.M. University, Nanded
CERTIFICATE
Submitted by
Avadhut Babarao Jadhav
Shyamsundar Prataprao Mungal
Abhishek Pandurang Pawar
Mr.PritamPatil Sir
Project Guide
1. INTRODUCTION
1.1. IMPORTANCE
1.2. BACKGOUND
1.3. PROBLEM DEFINATION
1.4. OBJECTIVES
1.5. SCOPE
2. SYSTEM REQUIREMENTS
2.1. Software Requirements
2.2. Hardware Requirements
3. ARCHITECTURE
4. TECHNOLOGIES USED
4.1. PHP
4.2. MYSQL
5. IMPLEMENTATION
6.1. INTRODUCTION
6.2. Test Cases
7. RESULTS
9. REFERENCES
1. INTRODUCTION
1.1. IMPORTANCE
A payroll system is a software designed to organize all the tasks of
employee payment and the filing of employee taxes. These tasks can include keeping
track of hours. Calculating wages, withholding taxes and deductions, printing and
delivering checks and paying employment taxes to the government.
Payroll software often requires very little input wage information then the software
calculates the information and performs withholdings automatically. Most payroll
software is automatically updated whenever a tax flaw change and will remind employers
when to file various tax forms.
1.2. BACKGROUND
The Payroll Management System deals with the financial aspects of
employee's salary, allowances, deductions, gross pay, net pay etc and generation of pay-
slips for a specific period. The outstanding benefit of Payroll Management System is its
easy implement other advantages of Payroll Management System and its extensive
features and reports.
1.5. SCOPE
2. SYSTEM REQUIREMENTS
2.1.Software Requirements
Operating system : Windows 7 or Later versions of windows
IDE :NotePad++ , XAMPP Server , My SQL , Browser
2.2.Hardware Requirements
Processor : Intel i3 or later versions
Hard Disc : 120GB
RAM : 4 GB or More
3. ARCHITECTURE
Here in this module call, user is prompted to enter the login credentials.
The Login Module is a portal that allows users to type a user name and password to login.
This module is no longer available to users after they have logged in. The Login Module
appears to users next to the introduction module.
After you selected data entry from the main menu you land on this screen.
In this module, Data of the employee are inserted. The Fields required here are Name, Id
of the employee, Designation, Age, Years of experience, No. of working hours, Loan
Status if any.
All the required data is processed and the salary, earnings and deductions of the
employee are calculated and finally stored in the files for permanent storage.
Records of all the employees are to be maintained and the records are
stored in Filesand the information is retrieved from the files. All the Records are
separated by new lines, and each field of an individual record is separated by ‘tab’.
4. TECHNOLOGIES USED
4.1. PHP
business use to create interactive websites with. It’s part of a website’s underlying code
(i.e. the gobbledygook that’s invisible to regular people) and it tells your browser
program how to display the website features & functions that you interact with.
You might be familiar with another scripting language called HTML. It’s the most
common and basic kind of web language, but it’s also rather limited in what it can do.
HTML is used to display simple content & informational pages. PHP is better suited for
Need a website you can update yourself, for example? If so, you’ll likely need a system
The cool thing about PHP is that it works alongside traditional HTML to create more
robust websites. In the past, we used to embed our PHP scripts within normal HTML
pages to enhance them with more advanced features. But now we build websites on a
PHP framework from the very beginning, arming you with many more options and
features than would be available with a HTML as a base. With that kind of PHP
Before we delve into a formal definition, you might want to know how the heck to
pronounce MySQL. There are two ways, actually. The most literal locution is easy
enough: “My S-Q-L.” But if you prefer a more conversational tone when talking
technology, you can also say, “My Sequel.” We’ll know what you mean either way.
In simple terms, MySQL is a database management system. There are a lot of reasons to
build databases as part of a website infrastructure. Email accounts, blogs and content
management systems (CMS) are all great examples of highly desirable web assets that we
create for our clients using MySQL-managed databases. PHP and MySQL work hand-in-
Like PHP, MySQL is also an open-source technology, a fact that should inspire a lot of
numerous. Paramount among the advantages is reliability. Open-source coding has been
checked and doubled checked by thousands or even millions of people around the world.
Its intricacies have been tested and improved over the years, and if problems arise,
You won’t have to wait for the original commercial vendor to sell you a new version just
to fix a pesky bug, nor will you get stuck with a single vendor’s proprietary technology
5. IMPLEMENTATION
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta content="width=device-width, initial-scale=1.0" name="viewport">
?>
</head>
<style>
body{
width: 100%;
height: calc(100%);
/*background: #007bff;*/
}
main#main{
width:100%;
height: calc(100%);
background:white;
}
#login-right{
position: absolute;
right:0;
width:40%;
height: calc(100%);
background:orange;
display: flex;
align-items: center;
}
#login-left{
position: absolute;
left:0;
width:90%;
height: calc(100%);
background:#59b6ec61;
display: flex;
align-items: center;
background: url(assets/img/Payroll.png);
background-repeat: no-repeat;
background-size: cover;
}
#login-right .card{
margin: auto;
z-index: 1
}
.logo {
margin: auto;
font-size: 8rem;
background: white;
padding: .5em 0.7em;
border-radius: 50% 50%;
color: #000000b3;
z-index: 10;
}
div#login-right::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: calc(100%);
height: calc(100%);
background: orange;
}
</style>
<body>
<main id="main">
<div id="login-left">
</div>
<div id="login-right">
<div class="card col-md-8">
<div class="card-body">
<div class="form-group">
<label for="password" class="control-label">Password</label>
<input type="password" id="password" name="password" class="form-control">
</div>
<center><button class="btn-smbtn-block btn-wave col-md-4 btn-
primary">Login</button></center>
</form>
</div>
</div>
</div>
</main>
</body>
<script>
$('#login-form').submit(function(e){
e.preventDefault()
$('#login-form button[type="button"]').attr('disabled',true).html('Logging in...');
if($(this).find('.alert-danger').length > 0 )
$(this).find('.alert-danger').remove();
$.ajax({
url:'ajax.php?action=login',
method:'POST',
data:$(this).serialize(),
error:err=>{
console.log(err)
$('#login-form button[type="button"]').removeAttr('disabled').html('Login');
},
success:function(resp){
if(resp == 1){
location.href ='index.php?page=home';
}else if(resp == 2){
location.href ='voting.php';
}else{
$('#login-form').prepend('<div class="alert alert-danger">Username or password is
incorrect.</div>')
$('#login-form button[type="button"]').removeAttr('disabled').html('Login');
}
}
})
})
</script>
</html>
Manage Attendence
<?php ?>
<div class="container-fluid">
<div class="col-lg-12">
<form action="" id="employee-attendance">
<div class="row form-group">
<div class="col-md-4">
<label for="" class="control-label">Employee</label>
<select id="employee_id" class="borwser-default select2">
<option value=""></option>
<?php
$employee = $conn->query("SELECT *,concat(lastname,', ',firstname,' ',middlename) as
ename FROM employee order by concat(lastname,', ',firstname,' ',middlename) asc");
while($row = $employee->fetch_assoc()):
?>
<option value="<?php echo $row['id'] ?>"><?php echo $row['ename'] . ' | '.
$row['employee_no'] ?></option>
<?phpendwhile; ?>
</select>
</div>
<div class="col-md-3">
<label for="" class="control-label">Type</label>
<select id="type" class="borwser-default custom-select">
<option value="1">Time-in AM</option>
<option value="2">Time-out AM</option>
<option value="3">Time-in PM</option>
<option value="4">Tim-out PM</option>
</select>
</div>
<div class="col-md-3">
<label for="" class="control-label">Date</label>
<input type="text" id="adate" class="form-control datetimepicker" autocomplete="off">
</div>
<div class="col-md-2">
<label for="" class="control-label"> </label>
<button class="btnbtn-primary btn-block btn-sm" type="button" id="add_list"> Add to
List</button>
</div>
</div>
<hr>
<div class="row">
<table class="table table-bordered" id="attendance-list">
<thead>
<tr>
<th class="text-center">
Employee
</th>
<th class="text-center">
Type
</th>
<th class="text-center">
Date
</th>
<th class="text-center">
</th>
</tr>
</thead>
<tbody></tbody>
</table>
</div>
</form>
</div>
Print Payroll
<style>
table{
width:100%;
border-collapse:collapse;
}
tr,td,th{
border:1px solid black
}
.text-center{
text-align:center;
}
.text-right{
text-align:right;
}
</style>
<?php include('db_connect.php') ?>
<?php
$pay = $conn->query("SELECT * FROM payroll where id = ".$_GET['id'])-
>fetch_array();
$pt = array(1=>"Monhtly",2=>"Semi-Monthly");
?>
<div>
<h2 class="text-center">Payroll - <?php echo $pay['ref_no'] ?></h2>
<hr>
</div>
<table>
<thead>
<tr>
<th class="text-center">Employee ID</th>
<th class="text-center">Employee Name</th>
<th class="text-center">Monthly Salary</th>
<th class="text-center">Absent</th>
<th class="text-center">Tardy/Undertime(mins)</th>
<th class="text-center">Total Allowance</th>
<th class="text-center">Total Deduction</th>
<th class="text-center">Net Pay</th>
</tr>
</thead>
<tbody>
<?php
View Payslip
<?php
$emp = $conn->query("SELECT e.*,d.name as dname,p.name as pname FROM
employee e inner join department d on e.department_id = d.id inner join position p on
e.position_id = p.id where e.id =".$_GET['id'])->fetch_array();
foreach($emp as $k=>$v){
$$k=$v;
}
?>
<div class="contriner-fluid">
<div class="col-md-12">
<h5><b><small>Employee ID :</small><?php echo $employee_no ?></b></h5>
<h4><b><small>Name: </small><?php echo ucwords($lastname.", ".$firstname."
",$middlename) ?></b></h4>
<p><b>Department :<?php echo ucwords($dname) ?></b></p>
<p><b>Position :<?php echo ucwords($pname) ?></b></p>
<hr class="divider">
<div class="row">
<div class="col-md-6">
<div class="card">
<div class="card-header">
<span><b>Allowances</b></span>
<button class="btnbtn-primary btn-sm float-right" style="padding: 3px 5px"
type="button" id="new_allowance"><i class="fa fa-plus"></i></button>
</div>
<div class="card-body">
<ul class="list-group">
<?php
$allowances = $conn->query("SELECT ea.*,a.allowance as aname FROM
employee_allowancesea inner join allowances a on a.id = ea.allowance_id where
ea.employee_id=".$_GET['id']." order by ea.typeasc,date(ea.effective_date) asc,
a.allowanceasc ");
$t_arr = array(1=>"Monthly",2=>"Semi-Monthly",3=>"Once");
while($row=$allowances->fetch_assoc()):
?>
<li class="list-group-item d-flex justify-content-between align-items-center alist" data-
id="<?php echo $row['id'] ?>">
<span>
<p><small><?php echo $row['aname'] ?> Allowance</small></p>
<p><small>Type: <?php echo $t_arr[$row['type']] ?></small></p>
<?php if($row['type'] == 3): ?>
<p><small>Effective: <?php echo date("M d,Y",strtotime($row['effective_date']))
?></small></p>
<?phpendif; ?>
</span>
<button class="badge badge-danger badge-pill btnremove_allowance" type="button"
data-id="<?php echo $row['id'] ?>"><i class="fa fa-trash"></i></button>
</li>
<?phpendwhile; ?>
6. TESTING
6.1INTRODUCTION
Testing is vital to the success of the system. System testing makes a logical
assumption that if all parts of the system are correct, the goal will be successfully
achieved. In the testing process we test the actual system in an organization and gather
errors from the new system operates in full efficiency as stated. System testing is the
stage of implementation, which is aimed to ensuring that the system works accurately and
efficiently.
In the testing process we test the actual system in an organization and gather
errors from the new system and take initiatives to correct the same. All the front-end and
back-end connectivity are tested to be sure that the new system operates in full efficiency
as stated. System testing is the stage of implementation, which is aimed at ensuring that
the system works accurately and efficiently.
The main objective of testing is to uncover errors from the system. For the
uncovering process we have to give proper input data to the system. So we should have
more conscious to give input data. It is important to give correct inputs to efficient
testing.
Testing is done for each module. After testing all the modules, the modules are
integrated and testing of the final system is done with the test data, specially designed to
show that the system will operate successfully in all its aspects conditions. Thus the
system testing is a confirmation that all is correct and an opportunity to show the user that
the system works. Inadequate testing or non-testing leads to errors that may appear few
months later.
The testing process focuses on logical intervals of the software ensuring that all the
statements have been tested and on the function intervals (i.e.,) conducting tests to 14
uncover errors and ensure that defined inputs will produce actual results that agree with
the required results. Testing has to be done using the two common steps Unit testing and
Integration testing. In the project system testing is made as follows:
The procedure level testing is made first. By giving improper inputs, the errors
occurred are noted and eliminated. This is the final step in system life cycle. Here we
implement the tested error-free system into real-life environment and make necessary
changes, which runs in an online fashion. Here system maintenance is done every months
or year based on company policies, and is checked for errors like runtime errors, long run
errors and other maintenances like table verification and reports.
Fig 7
7.2. Main Menu
Fig 7.3
.3 Inserting a New Employee Record
Fig 7.6
.6 List of Employee Table
Fig 7.7. Payroll Range
FUTURE SCOPE
Continuous tracking of their activities within the company of every employee can
be provided with their individual login credentials.
Auto update of the details like bank loan update can be provided.
Administration control over the software is to be improved.
Ex: Administration can able to add the employee credentials such that the
employee can know their status and companies administration legally.
9. REFERENCES
Textbook References
MySQL and JSON: A Practical Programming Guide
"Introduction to Database Management Systems" by Kahate
"PHP Object - Oriented Solutions" by David Powers
Other References
1) https://www.Stackoverflow.com
2) https://www.Tutorialspoint.com
3) https://www.Geekforgeeks.com