Mohan
Mohan
The Task Management System with Attendance Management Project can be accessed by 3
different roles which are the Admin, Sub Admin and the Employee. The Admin and SubAdmin
Users are the ones who are in charge of managing the daily task assigned the task to the
employees. They also have the privilege to access and manage all the features and functionalities
of the system including the employees and system admin list management. The Admin users can
generate printable daily reports for Tasks and Attendance. The Employee User has only limited
permission to the different features and functionalities of the site. They can only manage the list
of tasks that are assigned to them. On the employee side, the employee can log their attendance
online. The system automatically computes their daily attendance rendered time or duration.
CONTENTS
1.1 INTRODUCTION
Chapter-2:PROBLEM DEFINITION
2.1 INTRODUCTION
1.1 INTRODUCTION
The Employee Task Management System aims to address common challenges faced by
organizations in task management, such as inefficient communication, missed deadlines, and
lack of transparency. By leveraging technology, the system automates and optimizes task-related
processes, facilitating collaboration, productivity, and accountability among team members.
Well, Rolak are not just another software app development company! A leading digital transformation
company offering end-to-end software development application solutions (web & mobile based), along with
designing amazing UI & UX. Providing the latest gamut of technology solutions. Rolak help our clients – be it SME
/ Large Scale Enterprises across various industries or technology stack by offering distinguished IT solutions.
Delivering quick solutions, equipped with the latest technology making it more beneficial scaling your
organization’s efficiency.
1.3 ORGANIZATION OF PROJECT
2.1INTRODUCTION
Managers can easily create and assign tasks to individual employees or teams within the
organization. Tasks can be categorized, prioritized, and assigned deadlines to ensure clarity and
accountability. Employees can view their assigned tasks, track progress, and update status in
real-time. Managers have visibility into the status of tasks across teams, allowing for proactive
management and resource allocation.
2.2EXISTING SYSTEM
1. Task Assignment: Managers verbally assign tasks to employees during meetings or via email.
Sometimes, tasks may be written on paper or posted on physical bulletin boards for reference.
2. Task Tracking: Employees manually keep track of their assigned tasks using personal notes,
planners, or handwritten to-do lists. They may use paper-based calendars or spreadsheets to
record deadlines and track progress.
4. Deadline Management: Employees are responsible for managing their own deadlines and
ensuring timely completion of tasks. Managers may verbally remind employees of upcoming
deadlines or check in periodically to assess progress.
Inefficient Communication
2.3PROPOSED SYSTEM
The proposed system of aims to address the limitations of existing systems by providing a
centralized, efficient, and user-friendly platform for managing tasks within an organization.
Here are the key features and components of the proposed system:
1. User Authentication and Authorization: The system will include robust user authentication
mechanisms to ensure secure access to the platform. Different user roles and permissions will be
defined to control access levels and restrict certain functionalities based on user roles (e.g.,
admin, manager, employee).
2.Dashboard: Upon logging in, users will be greeted with a personalized dashboard that
provides an overview of their assigned tasks, upcoming deadlines, and task priorities. The
dashboard will serve as a central hub for managing tasks and accessing relevant information.
3.Task Management: The system will allow managers to create, assign, and prioritize tasks for
employees. Tasks can be categorized, tagged, and assigned deadlines to facilitate organization
and tracking. Employees can view their assigned tasks, update task statuses, and communicate
with team members regarding task-related matters.
4.Real-time Collaboration: The system will facilitate real-time collaboration among team
members through features such as task comments, file attachments, and discussion threads. This
will enable seamless communication and collaboration on tasks, even for distributed teams.
5.Deadline Reminders and Notifications: Automated reminders and notifications will be sent
to users to alert them of upcoming deadlines, task assignments, or updates. This will help users
stay organized and ensure timely completion of tasks.
Security Measures
2.4 Modules
Sub Admin
Employee
MODULES DESCRIPTION
Admin
Dash Board
Add/ Manage Department
Add / Manage Employee
Add / Mange Tasks
Task Status
Pages
Search
Reports
Sub Admin
Dash Board
Add / Mange Tasks
Task Status
Pages
Search
Reports
Employee
Login
Invalid
Check
Valid
Reports
Add / Manage Employee
Log out
Add / Manage Task
Task Status
Login
Invalid
Check
Valid
Task Status
Pages
Search
Invalid
Check
Valid
Dash Board
New task
Update Task
Log Out
Dash Board
Task Status
Admin
Pages
Search
Reports
Log Out
Dash Board
Task Status
Sub Admin
Pages
Search
Reports
Log Out
Dash Board
New Task
Update Task
Employee
Log out
Login
Login Register & login
1. Dash Board
5. Task Status
6. Pages
7. Search
8. Reports
9. Dash Board
12. Pages
13. Search
14. Reports
Dash board
Add/ Manage Department
Add / Manage Employee
Add/ Manage Task
Task Status
Pages
Search
Reports
1:
: Admin : Server : Sub
Admin
Dash board
Add/ Manage Task 2:
Task Status
Pages
Search
Reports
Dash Board 3:
New Task
Update Task
Server
Employee
After identifying the classes we have to elimination the following types of classes:
a. Redundant classes.
b. Adjective classes.
We have to draw the sequence diagram or collaboration diagram. If there is need for
some classes to represent some functionality then add new classes which perform those
functionalities.
3. CRC approach:
Packages
Classes
The core elements of the class diagram is the class. In an object oriented system, classes are used
to represent entities within the system; entities that often relate to real world objects.
Contact Name
-address: string
-city: string
-postal code: string
Attributes
Operations
The contact class above is an example of a simple class that stores location information.
Classes are divided into three sections:
Top: The name, package and stereotype are shown in the upper section of the class.
Center: The center section contains the attribute of the class.
Bottom: In the lower section are the operations that can be performed on the class.
Attributes
An Attribute is a property of a class. In the example above, We are told a contact has an
address, a city, a province, a country, and a postal code. It is generally understood that when
implementing the class, functionality is provided to set and retrieve the information stored in
attributes. The format for attributes is:
Visibility name: type = default value
The visibility is an follows:
- Private
+ public
# protected
~ package
In object oriented design, it is generally preferred to keep most attributes private.
Static: attributes that are static only exist once for all instance of the class. In the example
above, if we set city to be static, any time we used the contact class the city attribute would
always have the same value.
Final: If an attribute is declared final, its value cannot be changed. The attribute is a constant.
Operations
The operations listed in a class represent the functions or takes the can be performed on the data
in the class.
list
-Objects:object[]
+get size 0:int
+set(index: int, value: object):void
In the list class above, there is one attribute (a private array of objects) and three operations.
The format for operations is:
Visibility name(parameters) : type
The format is very similar to that of the attribute except with the removal of a default value and
the addition of parameters.
Parameters take the format:
Direction name: type=default value
The direction can be one of in, out, input, or it can be unspecified.
In visual case you can show and hide the parameter list for a class or all classes on a diagram. If
the list is hidden and an operation has parameters, three dots are shown(…) to indicate that
parameters exist, but are hidden. Sometimes operations have numerous parameters that need be
shown all the time.
Interfaces
Many object oriented programming languages do not allow for multiple inheritance. The
interface is used to solve the limitations posed by this. For example, in the earlier class diagram
client and company both generalization contact but one or the child classes many have something
in common with a third class that we do not want to duplicate in multiple classes.
Associations
Classes can also contain references to each other. The company class has two attributes that
reference the client class.
Although this is perfectly correct, it is some times more expressive to show the attributes as
associations.
1 1
Company Client
-name: string -f name: string
1 0…*
The above two associations have meaning as the attributes in old version of the contact class.
0 Zero
1 One
login()
Dash board()
Add / Manage Department()
Add / manage Employee()
Add / manage Task()
Task Status() Employee
Pages() User Name
Search() Password
Reports() Address
Log out() phone
pin
Login()
Dash BOard()
Add / manage Task()
Task Status()
Pages()
Search()
Reports()
Log out()
Output Design
A quality output is one, which meets the requirements of the end user and presents the
information clearly. In any system results of processing are communicated to the users and to
other system through outputs. Designing computer output should proceed in an organized, well
thought out manner; the right output must be developed while ensuring that each output elements
is designed so that people will find the system can use easily and effectively. When analysis
design computer output, they should
Identify the specific output that is needed to meet requirements.
Select methods for presenting information.
Create documents, reports, or other formats that contain information produced by the
system.
The output from of an information system should accomplish one or more of the
following objectives.
Convey information about past activities, current status or projections of the future.
Single important events, opportunities, problems or warnings.
Trigger an action, Confirm an action.
Data base tables
NORMALIZATION
It is a process of converting a relation to a standard form. The process is used to handle the
problems that can arise due to data redundancy i.e. repetition of data in the database, maintain
data integrity as well as handling problem that can arise due to insertion, updation, deletion
anomalies.
Decomposing is the process of splitting relations into multiple relations to eliminate
anomalies and maintain anomalies and maintain data integrity. To do this we use normal forms
or rules for structuring relation.
Insertion anomaly Inability to add data to the database due to absence of other data.
Deletion anomaly Unintended loss of data due to deletion of other data.
Update anomaly Data inconsistency resulting from data redundancy and partial update.
Normal form These are the rules for structuring relation that eliminate anomalies.
First Normal Form
A relation is said to be in first normal form if the values in the relation are atomic for
every attribute in the relation. By this we mean simply that no attribute value can be a set of
value or, as it is sometimes expressed, a repeating group.
Second Normal Form
A relation is said to be in second normal form is it is in first normal form and it should
satisfy any one of the following rules.
1) Primary key is not a composite primary key.
2) No non key attribute are present.
3) Every non key attribute is fully functionally dependent on full set of primary key.
CPU - 1.6GHz
RAM:4 GB
IDE - Notepad++
6.3 CODING
Login. Html
<?php
session_start();
error_reporting(0);
include('includes/dbconnection.php');
if(isset($_POST['login']))
{
$username=$_POST['username'];
$password=md5($_POST['password']);
$sql ="SELECT ID FROM tbladmin WHERE UserName=:username and
Password=:password";
$query=$dbh->prepare($sql);
$query-> bindParam(':username', $username, PDO::PARAM_STR);
$query-> bindParam(':password', $password, PDO::PARAM_STR);
$query-> execute();
$results=$query->fetchAll(PDO::FETCH_OBJ);
if($query->rowCount() > 0)
{
foreach ($results as $result) {
$_SESSION['etmsaid']=$result->ID;
}
if(!empty($_POST["remember"])) {
//COOKIES for username
setcookie ("user_login",$_POST["username"],time()+ (10 * 365 * 24 * 60 * 60));
//COOKIES for password
setcookie ("userpassword",$_POST["password"],time()+ (10 * 365 * 24 * 60 * 60));
} else {
if(isset($_COOKIE["user_login"])) {
setcookie ("user_login","");
if(isset($_COOKIE["userpassword"])) {
setcookie ("userpassword","");
}
}
}
$_SESSION['login']=$_POST['username'];
echo "<script type='text/javascript'> document.location ='dashboard.php'; </script>";
} else{
echo "<script>alert('Invalid Details');</script>";
}
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<title>Employee Task Management System || Login Page</title>
</head>
<body class="inner_page login">
<div class="full_container">
<div class="container">
<div class="center verticle_center full_height">
<div class="login_section">
<div class="logo_login">
<div class="center">
<h3 style="color: white;">Employee Task Management System</h3>
</div>
</div>
<div class="login_form">
<form method="post" name="login">
<fieldset>
<div class="field">
<label class="label_field">User Name</label>
<input type="text" class="form-control" placeholder="enter your username"
required="true" name="username" value="<?php if(isset($_COOKIE["user_login"])) { echo
$_COOKIE["user_login"]; } ?>" >
</div>
<div class="field">
<label class="label_field">Password</label>
<input type="password" class="form-control" placeholder="enter your
password" name="password" required="true" value="<?php
if(isset($_COOKIE["userpassword"])) { echo $_COOKIE["userpassword"]; } ?>">
</div>
<div class="field">
<label class="label_field hidden">hidden label</label>
<label class="form-check-label"><input class="form-check-input"
id="remember" name="remember" <?php if(isset($_COOKIE["user_login"])) { ?> checked <?
php } ?> type="checkbox"/> Remember Me</label>
<a class="forgot" href="forgot-password.php">Forgotten Password?</a>
</div>
<div class="field margin_0">
<label class="label_field hidden">hidden label</label>
<button class="main_bt" name="login" type="submit">Login</button>
</div>
</fieldset>
<a class="forgot" href="../index.php">Home Page</a>
</form>
</div>
</div>
</div>
</div>
</div>
<!-- jQuery -->
<script src="js/jquery.min.js"></script>
<script src="js/popper.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<!-- wow animation -->
<script src="js/animate.js"></script>
<!-- select country -->
<script src="js/bootstrap-select.js"></script>
<!-- nice scrollbar -->
<script src="js/perfect-scrollbar.min.js"></script>
<script>
var ps = new PerfectScrollbar('#sidebar');
</script>
<!-- custom js -->
<script src="js/custom.js"></script>
</body>
</html>
Manage Employee.html
<?php
session_start();
error_reporting(0);
include('includes/dbconnection.php');
if (strlen($_SESSION['etmsaid']==0)) {
header('location:logout.php');
} else{
?>
<!DOCTYPE html>
<html lang="en">
<head>
</head>
<body class="inner_page tables_page">
<div class="full_container">
<div class="inner_container">
<!-- Sidebar -->
<?php include_once('includes/sidebar.php');?>
<!-- right content -->
<div id="content">
<!-- topbar -->
<?php include_once('includes/header.php');?>
<!-- end topbar -->
<!-- dashboard inner -->
<div class="midde_cont">
<div class="container-fluid">
<div class="row column_title">
<div class="col-md-12">
<div class="page_title">
<h2>Manage Employee</h2>
</div>
</div>
</div>
<!-- row -->
<div class="row">
<div class="col-md-12">
<div class="white_shd full margin_bottom_30">
<div class="full graph_head">
<div class="heading1 margin_0">
<h2>Manage Employee</h2>
</div>
</div>
<div class="table_section padding_infor_info">
<div class="table-responsive-sm">
<table class="table table-bordered">
<thead>
<tr>
<th>S.No</th>
<th>Department Name</th>
<th>Employee Name</th>
<th>Employee Email</th>
<th>Employee Contact Number</th>
<th>Date of Joining</th>
<th>Action</th>
</tr>
</thead>
<tbody>
<?php
$sql="SELECT tbldepartment.ID as did, tbldepartment.DepartmentName,tblemployee.ID as
eid,tblemployee.DepartmentID,tblemployee.EmpName,tblemployee.EmpEmail,tblemployee.Em
pContactNumber,tblemployee.EmpDateofjoining from tblemployee join tbldepartment on
tbldepartment.ID=tblemployee.DepartmentID";
$query = $dbh -> prepare($sql);
$query->execute();
$results=$query->fetchAll(PDO::FETCH_OBJ);
$cnt=1;
if($query->rowCount() > 0)
{
foreach($results as $row)
{ ?>
<tr>
</head>
<body class="inner_page general_elements">
<div class="full_container">
<div class="inner_container">
<!-- Sidebar -->
<?php include_once('includes/sidebar.php');?>
<!-- end sidebar -->
<!-- right content -->
<div id="content">
<!-- topbar -->
<?php include_once('includes/header.php');?>
<!-- end topbar -->
<!-- dashboard inner -->
<div class="midde_cont">
<div class="container-fluid">
<div class="row column_title">
<div class="col-md-12">
<div class="page_title">
<h2>Employee Profile</h2>
</div>
</div>
</div>
<!-- row -->
<div class="row column8 graph">
<div class="col-md-12">
<div class="white_shd full margin_bottom_30">
<div class="full graph_head">
<div class="heading1 margin_0">
<h2>Profile</h2>
</div>
</div>
<div class="full progress_bar_inner">
<div class="row">
<div class="col-md-12">
<div class="full">
<div class="padding_infor_info">
<div class="alert alert-primary" role="alert">
<form method="post">
<?php
$etmseid=$_SESSION['etmsempid'];
$sql="SELECT tbldepartment.ID as did, tbldepartment.DepartmentName,tblemployee.ID as
eid,tblemployee.DepartmentID,tblemployee.EmpName,tblemployee.EmpId,tblemployee.EmpE
mail,tblemployee.EmpContactNumber,tblemployee.EmpDateofjoining,tblemployee.Designation,
tblemployee.EmpDateofbirth,tblemployee.EmpAddress,tblemployee.Description,tblemployee.Pr
ofilePic,tblemployee.CreationDate from tblemployee join tbldepartment on
tbldepartment.ID=tblemployee.DepartmentID where tblemployee.ID=:eid";
$query = $dbh -> prepare($sql);
$query->bindParam(':eid',$etmseid,PDO::PARAM_STR);
$query->execute();
$results=$query->fetchAll(PDO::FETCH_OBJ);
$cnt=1;
if($query->rowCount() > 0)
{
foreach($results as $row)
{ ?>
<fieldset>
<div class="field">
<label class="label_field">Department Name</label>
<select type="text" name="deptname" value="" class="form-control"
readonly='true'>
<option value="<?php echo htmlentities($row->DepartmentID);?>"><?php
echo htmlentities($row->DepartmentName);?></option>
</select>
</div>
<br>
<div class="field">
<label class="label_field">Employee ID</label>
<input type="text" name="empid" value="<?php echo ($row->EmpId);?>"
class="form-control" readonly='true'>
</div>
<br>
<div class="field">
<label class="label_field">Employee Name</label>
<input type="text" name="empname" value="<?php echo htmlentities($row-
>EmpName);?>" class="form-control" required='true'>
</div>
<br>
<div class="field">
<label class="label_field">Employee Email</label>
<input type="email" name="empemail" value="<?php echo
htmlentities($row->EmpEmail);?>" class="form-control" readonly='true'>
</div>
<br>
<div class="field">
<label class="label_field">Employee Contact Number</label>
<input type="text" name="empcontno" value="<?php echo htmlentities($row-
>EmpContactNumber);?>" class="form-control" readonly='true' maxlength="10" pattern="[0-
9]+">
</div>
<br>
<div class="field">
<label class="label_field">Employee Designation</label>
<input type="text" name="designation" value="<?php echo
htmlentities($row->Designation);?>" class="form-control" required='true'>
</div>
<br>
<div class="field">
<label class="label_field">Employee Date of Birth</label>
<input type="date" name="empdob" value="<?php echo htmlentities($row-
>EmpDateofbirth);?>" class="form-control" required='true'>
</div>
<br>
<div class="field">
<label class="label_field">Empoyee Address</label>
<textarea type="text" name="empadd" class="form-control"
required='true'><?php echo htmlentities($row->EmpAddress);?></textarea>
</div>
<br>
<div class="field">
<label class="label_field">Empoyee Date of Joining</label>
<input type="date" name="empdoj" value="<?php echo htmlentities($row-
>EmpDateofjoining);?>" class="form-control" readonly='true'>
</div>
<br>
<div class="field">
<label class="label_field">Description(if any)</label>
<textarea type="text" name="desc" class="form-control" required='true'><?
php echo htmlentities($row->Description);?></textarea>
</div>
<br>
<div class="field">
<label class="label_field">Employee Pic</label>
<img src="../admin/images/<?php echo $row->ProfilePic;?>" width="100"
height="100" value="<?php echo $row->ProfilePic;?>"><a href="changeimage.php?editid=<?
php echo $row->eid;?>"> Edit Image</a>
</div>
<br>
<?php $cnt=$cnt+1;}} ?>
<br>
<div class="field margin_0">
<label class="label_field hidden">hidden label</label>
<button class="main_bt" type="submit" name="submit"
id="submit">Update</button>
</div>
</fieldset>
</form></div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- funcation section -->
</div>
</div>
<!-- footer -->
<?php include_once('includes/footer.php');?>
</div>
<!-- end dashboard inner -->
</div>
</div>
<!-- model popup -->
</div>
<!-- jQuery -->
<script src="js/jquery.min.js"></script>
<script src="js/popper.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<!-- wow animation -->
<script src="js/animate.js"></script>
<!-- select country -->
<script src="js/bootstrap-select.js"></script>
<!-- owl carousel -->
<script src="js/owl.carousel.js"></script>
<!-- chart js -->
<script src="js/Chart.min.js"></script>
<script src="js/Chart.bundle.min.js"></script>
<script src="js/utils.js"></script>
<script src="js/analyser.js"></script>
<!-- nice scrollbar -->
<script src="js/perfect-scrollbar.min.js"></script>
<script>
var ps = new PerfectScrollbar('#sidebar');
</script>
<!-- custom js -->
<script src="js/custom.js"></script>
<!-- calendar file css -->
<script src="js/semantic.min.js"></script>
</body>
</html><?php } ?>
Employee DashBoard.html
<?php
session_start();
error_reporting(0);
include('includes/dbconnection.php');
if (strlen($_SESSION['etmsempid']==0)) {
header('location:logout.php');
} else{
?>
<!DOCTYPE html>
<html lang="en">
<head>
</head>
<body class="dashboard dashboard_1">
<div class="full_container">
<div class="inner_container">
<!-- Sidebar -->
<?php include_once('includes/sidebar.php');?>
<!-- end sidebar -->
<!-- right content -->
<div id="content">
<!-- topbar -->
<?php include_once('includes/header.php');?>
<!-- end topbar -->
<!-- dashboard inner -->
<div class="midde_cont">
<div class="container-fluid">
<div class="row column_title">
<div class="col-md-12">
<div class="page_title">
<h2>Dashboard</h2>
</div>
</div>
</div>
<div class="row column1">
<div class="col-md-6 col-lg-3">
<div class="full counter_section margin_bottom_30 red_bg">
<div class="couter_icon">
<div>
<i class="fa fa-files-o white_color"></i>
</div>
</div>
<div class="counter_no">
<?php
$eid=$_SESSION['etmsempid'];
$sql2 ="SELECT * from tbltask where Status is null && AssignTaskto=:eid";
$query2 = $dbh -> prepare($sql2);
$query2-> bindParam(':eid', $eid, PDO::PARAM_STR);
$query2->execute();
$results2=$query2->fetchAll(PDO::FETCH_OBJ);
$newtask=$query2->rowCount();
?>
<div>
<a href="new-task.php">
<p class="total_no"><?php echo htmlentities($newtask);?></p>
<p class="head_couter" style="color:#000">New Tasks</p>
</a>
</div>
</div>
</div>
</div>
<div class="col-md-6 col-lg-3">
<div class="full counter_section margin_bottom_30 yellow_bg">
<div class="couter_icon">
<div>
<i class="fa fa-files-o blue1_color"></i>
</div>
</div>
<div class="counter_no">
<?php
$eid=$_SESSION['etmsempid'];
$sql3 ="SELECT * from tbltask where Status='Inprogress' &&
AssignTaskto=:eid";
$query3 = $dbh -> prepare($sql3);
$query3-> bindParam(':eid', $eid, PDO::PARAM_STR);
$query3->execute();
$results3=$query3->fetchAll(PDO::FETCH_OBJ);
$inprotask=$query3->rowCount();
?>
<div><a href="inprogress-task.php">
<p class="total_no"><?php echo htmlentities($inprotask);?></p>
<p class="head_couter" style="color:#000">Inprogress Task</p>
</a>
</div>
</div>
</div>
</div>
<div class="col-md-6 col-lg-3">
<div class="full counter_section margin_bottom_30 green_bg">
<div class="couter_icon">
<div>
<i class="fa fa-files-o white_color"></i>
</div>
</div>
<div class="counter_no">
<div>
<?php
$sql4 ="SELECT * from tbltask where Status='Completed' &&
AssignTaskto=:eid";
$query4 = $dbh -> prepare($sql4);
$query4-> bindParam(':eid', $eid, PDO::PARAM_STR);
$query4->execute();
$results4=$query4->fetchAll(PDO::FETCH_OBJ);
$comptask=$query4->rowCount();
?><a href="completed-task.php">
<p class="total_no"><?php echo htmlentities($comptask);?></p>
<p class="head_couter" style="color:#000">Completed Task</p>
</a>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- footer -->
<?php include_once('includes/footer.php');?>
</div>
<!-- end dashboard inner -->
</div>
</div>
</div>
<!-- jQuery -->
<script src="js/jquery.min.js"></script>
<script src="js/popper.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<!-- wow animation -->
<script src="js/animate.js"></script>
<!-- select country -->
<script src="js/bootstrap-select.js"></script>
<!-- owl carousel -->
<script src="js/owl.carousel.js"></script>
<!-- chart js -->
<script src="js/Chart.min.js"></script>
<script src="js/Chart.bundle.min.js"></script>
<script src="js/utils.js"></script>
<script src="js/analyser.js"></script>
<!-- nice scrollbar -->
<script src="js/perfect-scrollbar.min.js"></script>
<script>
var ps = new PerfectScrollbar('#sidebar');
</script>
<!-- custom js -->
<script src="js/custom.js"></script>
<script src="js/chart_custom_style1.js"></script>
</body>
</html><?php } ?>
Employee New Task.html
<?php
session_start();
error_reporting(0);
include('includes/dbconnection.php');
if (strlen($_SESSION['etmsempid']==0)) {
header('location:logout.php');
} else{
?>
<!DOCTYPE html>
<html lang="en">
<head>
</head>
<body class="inner_page tables_page">
<div class="full_container">
<div class="inner_container">
<!-- Sidebar -->
<?php include_once('includes/sidebar.php');?>
<!-- right content -->
<div id="content">
<!-- topbar -->
<?php include_once('includes/header.php');?>
<!-- end topbar -->
<!-- dashboard inner -->
<div class="midde_cont">
<div class="container-fluid">
<div class="row column_title">
<div class="col-md-12">
<div class="page_title">
<h2>View New Task</h2>
</div>
</div>
</div>
<!-- row -->
<div class="row">
<div class="col-md-12">
<div class="white_shd full margin_bottom_30">
<div class="full graph_head">
<div class="heading1 margin_0">
<h2>View New Task</h2>
</div>
</div>
<div class="table_section padding_infor_info">
<div class="table-responsive-sm">
<table class="table table-bordered">
<thead>
<tr>
<th>S.No</th>
<th>Task Title</th>
<th>Department</th>
<th>Assign To</th>
<th>Assign Date</th>
<th>End Date</th>
<th>Status</th>
<th>Action</th>
</tr>
</thead>
<tbody>
<?php
$empid=$_SESSION['etmsempid'];
$sql="SELECT tbltask.ID as
tid,tbltask.TaskTitle,tbltask.Status,tbltask.DeptID,tbltask.AssignTaskto,tbltask.TaskEnddate,tblta
sk.TaskAssigndate,tbldepartment.DepartmentName,tbldepartment.ID as
did,tblemployee.EmpName,tblemployee.EmpId from tbltask join tbldepartment on
tbldepartment.ID=tbltask.DeptID join tblemployee on tblemployee.ID=tbltask.AssignTaskto
where tbltask.AssignTaskto=:empid && tbltask.Status is null";
$query = $dbh -> prepare($sql);
$query-> bindParam(':empid', $empid, PDO::PARAM_STR);
$query->execute();
$results=$query->fetchAll(PDO::FETCH_OBJ);
$cnt=1;
if($query->rowCount() > 0)
{
foreach($results as $row)
{ ?>
<tr>
<td><?php echo htmlentities($cnt);?></td>
<td><?php echo htmlentities($row->TaskTitle);?></td>
<td><?php echo htmlentities($row->DepartmentName);?></td>
<td><?php echo htmlentities($row->EmpName);?>(<?php echo
htmlentities($row->EmpId);?>)</td>
<td><?php echo htmlentities($row->TaskAssigndate);?></td>
<td><?php echo htmlentities($row->TaskEnddate);?></td>
<?php if($row->Status==""){ ?>
</div>
<!-- jQuery -->
<script src="js/jquery.min.js"></script>
<script src="js/popper.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<!-- wow animation -->
<script src="js/animate.js"></script>
<!-- select country -->
<script src="js/bootstrap-select.js"></script>
<!-- owl carousel -->
<script src="js/owl.carousel.js"></script>
<!-- chart js -->
<script src="js/Chart.min.js"></script>
<script src="js/Chart.bundle.min.js"></script>
<script src="js/utils.js"></script>
<script src="js/analyser.js"></script>
<!-- nice scrollbar -->
<script src="js/perfect-scrollbar.min.js"></script>
<script>
var ps = new PerfectScrollbar('#sidebar');
</script>
<!-- fancy box js -->
<script src="js/jquery-3.3.1.min.js"></script>
<script src="js/jquery.fancybox.min.js"></script>
<!-- custom js -->
<script src="js/custom.js"></script>
<!-- calendar file css -->
<script src="js/semantic.min.js"></script>
</body>
</html><?php } ?>
Software once validated must be combined with other system elements (e.g. Hardware,
people, database). System testing verifies that all the elements are proper and that overall system
function performance is achieved. It also tests to find discrepancies between the system and its
original objective, current specifications and system documentation.
UNIT TESTING:
In unit testing different are modules are tested against the specifications produced during the
design for the modules. Unit testing is essential for verification of the code produced during the
coding phase, and hence the goals to test the internal logic of the modules. Using the detailed
design description as a guide, important Conrail paths are tested to uncover errors within the
boundary of the modules. This testing is carried out during the programming stage itself. In this
type of testing step, each module was found to be working satisfactorily as regards to the
expected output from the module.
In Due Course, latest technology advancements will be taken into consideration. As part
of technical build-up many components of the networking system will be generic in nature so
that future projects can either use or interact with this. The future holds a lot to offer to the
development and refinement of this project.
White Box Testing
White Box Testing is a testing in which in which the software tester has knowledge of the
inner workings, structure and language of the software, or at least its purpose. It is purpose. It is
used to test areas that cannot be reached from a black box level.
Validation Checking
Validation checks are performed on the following fields.
Text Field:
The text field can contain only the number of characters lesser than or equal to its size.
The text fields are alphanumeric in some tables and alphabetic in other tables. Incorrect entry
always flashes and error message.
Numeric Field:
The numeric field can contain only numbers from 0 to 9. An entry of any character
flashes an error messages. The individual modules are checked for accuracy and what it has to
perform. Each module is subjected to test run along with sample data. The individually tested
modules are integrated into a single system. Testing involves executing the real data
information is used in the program the existence of any program defect is inferred from the
output. The testing should be planned so that all the requirements are individually tested.
A successful test is one that gives out the defects for the inappropriate data and produces
and output revealing the errors in the system.
Preparation of Test Data
Taking various kinds of test data does the above testing. Preparation of test data plays a
vital role in the system testing. After preparing the test data the system under study is tested
using that test data. While testing the system by using test data errors are again uncovered and
corrected by using above testing steps and corrections are also noted for future use.
It is difficult to obtain live data in sufficient amounts to conduct extensive testing. And,
although it is realistic data that will show how the system will perform for the typical processing
requirement, assuming that the live data entered are in fact typical, such data generally will not
test all combinations or formats that can enter the system. This bias toward typical values then
does not provide a true systems test and in fact ignores the cases most likely to cause system
failure.
USER TRAINING
Whenever a new system is developed, user training is required to educate them about the
working of the system so that it can be put to efficient use by those for whom the system has
been primarily designed. For this purpose the normal working of the project was demonstrated to
the prospective users. Its working is easily understandable and since the expected users are
people who have good knowledge of computers, the use of this system is very easy.
MAINTAINENCE
This covers a wide range of activities including correcting code and design errors. To
reduce the need for maintenance in the long run, we have more accurately defined the user’s
requirements during the process of system development. Depending on the requirements, this
system has been developed to satisfy the needs to the largest possible extent. With development
in technology, it may be possible to add many more features based on the requirements in future.
The coding and designing is simple and easy to understand which will make maintenance easier.
TESTING STRATEGY :
A strategy for system testing integrates system test cases and design techniques into a
well planned series of steps that results in the successful construction of software. The testing
strategy must co-operate test planning, test case design, test execution, and the resultant data
collection and evaluation .A strategy for software testing must accommodate low-level tests
that are necessary to verify that a small source code segment has been correctly implemented
as well as high level tests that validate major system functions against user requirements.
Software testing is a critical element of software quality assurance and represents the ultimate
review of specification design and coding. Testing represents an interesting anomaly for the
software. Thus, a series of testing are performed for the proposed system before the system is
ready for user acceptance testing.
Chapter-8: CONCLUSION
BIBLIOGRAPHY
For PHP
https://www.w3schools.com/php/default.asp
https://www.sitepoint.com/php/
https://www.php.net/
For MySQL
https://www.mysql.com/
http://www.mysqltutorial.org
For XAMPP
https://www.apachefriends.org/download.html
SCREENS
Fig 1. Home Page
Fig 2. Admin Login