0% found this document useful (0 votes)
16 views76 pages

Mohan

Uploaded by

Bhanu Royal
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views76 pages

Mohan

Uploaded by

Bhanu Royal
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 76

ABSTRACT

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

Chapter-1: ORGANIZATION PROFILE

1.1 INTRODUCTION

1.2 ORGANIZATION PROFILE

1.3 ORGANIZATION OF PROJECT

Chapter-2:PROBLEM DEFINITION

2.1 INTRODUCTION

2.2 EXISTING SYSTEM

2.2.1 DRAW BACKS OF EXISTING SYSTEM

2.3 PROPOSED SYSTEM


2.3.1 ADVANTAGES OF PROPOSED SYSTEM
2.4 MODULES
Chapter-3: FEASIBILITY STUDY
3.1 OPERATIONAL FEASIBILITY
3.2 TECHNICAL FEASIBILITY
3.3 ECONOMICAL FEASIBILITY
Chapter-4:SYSTEM ANALYSIS
4.1 ACTIVITY DIAGRAM
4.2 USE CASE DIAGRAM
4.3 SEQUENCE DIAGRAM
4.4 COLLABORATION DIAGRAM
4.5 DEPLOYMENT DIAGRAM
Chapter-5: SYSTEM DESIGN
5.1 CLASS DIAGRAM
5.2 DATABASE DESIGN
Chapter-6: SYSTEM IMPLEMENTATION
6.1 HARDWARE REQUIREMENTS
6.2 SOFTWARE REQUIREMENTS
6.3 CODING
Chapter-7: SYSTEM TESTING
7.1 TESTING METHODS
7.2 TEST CASE
Chapter-8: CONCLUSION
BIBLIOGRAPHY
SCREENS
Chapter-1: ORGANIZATION PROFILE

1.1 INTRODUCTION

In today's dynamic work environment, managing tasks efficiently is essential for


organizational success. The Employee Task Management System (ETMS) is designed to
streamline task assignment, tracking, and completion processes within an organization. This
system provides a centralized platform for managers to assign tasks, monitor progress, and
evaluate performance, while enabling employees to effectively prioritize and manage their
workload.

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.

1.2 ORGANIZATION PROFILE

Driving business transformation, digitally – Applying disruptive technologies for business


transformations. Rolak Pvt Ltd brings great advantage to business space by bridging gaps,
simplifying businesses and elevating competitive benefits by providing technology based
business solutions.

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

Fig 1.3 ORGANIZATION OF PROJECT


Chapter-2: PROBLEM DEFINITION

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.

3. Communication: Communication regarding task updates, status changes, or clarifications


often occurs through face-to-face conversations, phone calls, or email exchanges. There may not
be a centralized platform for team communication or collaboration.

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.

5. Collaboration: Collaboration among team members may be limited to informal discussions or


meetings. There may be challenges in sharing documents or coordinating tasks efficiently due to
the lack of centralized tools or platforms.

6. Performance Evaluation: Managers may rely on informal observations or individual feedback


sessions to evaluate employee performance. There may not be structured processes or
documentation for tracking task completion rates or assessing productivity.

2.2.1 DISADVANTAGES OF EXISTING SYSTEM


 Lack of Centralization
 Limited Visibility

 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.

2.3.1 ADVANTAGES OF PROPOSED SYSTEM


 Reporting and Analytics
 Flexibility and Accessibility

 Security Measures
2.4 Modules

In this project, there are Three modules. They are:


 Admin

 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

 Register & login


 Dash Board
 New Task
 Update Task
Chapter-3: FEASIBILITY STUDY
An important outcome of preliminary investigation is the determination that the system request is
feasible. This is possible only if it is feasible within limited resource and time. The different
feasibilities that have to be analyzed are
 Operational Feasibility
 Economic Feasibility
 Technical Feasibility

3.1 Operational Feasibility


Operational Feasibility deals with the study of prospects of the system to be developed.
This system operationally eliminates all the tensions of the Admin and helps him in effectively
tracking the project progress. This kind of automation will surely reduce the time and energy,
which previously consumed in manual work. Based on the study, the system is proved to be
operationally feasible.

3.2 Economic Feasibility

Economic Feasibility or Cost-benefit is an assessment of the economic justification for a


computer based project. As hardware was installed from the beginning & for lots of purposes
thus the cost on project of hardware is low. Since the system is a network based, any number of
employees connected to the LAN within that organization can use this tool from at anytime. The
Virtual Private Network is to be developed using the existing resources of the organization. So
the project is economically feasible.

3.3 Technical Feasibility

According to Roger S. Pressman, Technical Feasibility is the assessment of the technical


resources of the organization. The organization needs IBM compatible machines with a graphical
web browser connected to the Internet and Intranet. The system is developed for platform
Independent environment. Java Server Pages, JavaScript, HTML, SQL server and Web Logic
Server are used to develop the system. The technical feasibility has been carried out. The system
is technically feasible for development and can be developed with the existing facility.
Chapter-4: SYSTEM ANALYSIS
4.1 Activity Diagram
Activity diagram are graphical representations of work flows of step wise activities and actions
with support for choice, iteration and concurrency, in the unified modeling language , activity
diagrams can be used to describe the business and operational step-by-step work flows of
components in a system. An activity diagram shows the over all flow of control.

4.1.1 Activity Diagram for Admin

Login

Invalid

Check
Valid

Dash Board Pages

Add / Manage Department Search

Reports
Add / Manage Employee

Log out
Add / Manage Task

Task Status

Fig 4.1.1 Activity Diagram for Admin


4.1.2 Activity Diagram for Sub Admin

Login

Invalid

Check

Valid

Dash Board Reports

Add / Manage Task Log out

Task Status

Pages

Search

Fig 4.1.2 Activity Diagram for Sub Admin


4.1.3 Activity Diagram for Employee

Register & Login

Invalid

Check

Valid

Dash Board

New task

Update Task

Log Out

Fig 4.1.3 Activity Diagram for Employee


4.2 Use case Diagram
A Use case Diagram in the unified modeling language (UML) is a type of behavioral diagram
defined by and created from a use case analysis. Its proposed is to present a graphical overview
of the functionality provided by a system in terms of actors, their goals, (represented as use case)
and any dependencies. Between those use cases. The main Propose of a use case diagram is to
show what system functions are performed for which actor. Roles of the actors in the system can
be depicted.
4.2.1 Use case Diagram for Admin
Login

Dash Board

Add / Manage Department

Add / Manage Employee

Add / Manage Task

Task Status

Admin
Pages

Search

Reports

Log Out

Fig 4.2.1 Use case Diagram for Admin


4.2.2 USE CASE DIAGRAM FOR Sub Admin
Login

Dash Board

Add / Manage Task

Task Status

Sub Admin
Pages

Search

Reports

Log Out

Fig 4.2.2 Use case Diagram for Sub Admin


4.2.3 Use case Diagram for Employee
Register & login

Dash Board

New Task

Update Task
Employee

Log out

Fig 4.2.3 Use case Diagram for Employee

4.3 Sequence Diagram


A Sequence Diagram in unified modeling language (UML) is a kind of interaction diagram that
shows how processes operate with one another and in what it is a construct of a messages
sequence chart sequence diagram are sometimes called event diagram, event scenarios, and
timing diagram.

Admin Server Sub Admin Employee

Login
Login Register & login

1. Dash Board

2. Add / Manage Department

3. Add / manage Employee

4. Add / Manage Task

5. Task Status

6. Pages

7. Search

8. Reports

9. Dash Board

10. Add / Manage task

11. Task Status

12. Pages

13. Search

14. Reports

15. Dash Board

16. New Task

17. update Task

Fig 4.3 Sequence Diagram

4.4 Collaboration Diagram


A collaboration diagram, also known as a communication diagram, is an illustration of the
relationships and interactions among software objects in the Unified Modeling Language (UML).
These diagrams can be used to portray the dynamic behavior of a particular use case and define
the role of each object.

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

: Admin : Server : User

Dash Board 3:
New Task
Update Task

Fig 4.4 Collaboration Diagram

4.5 Deployment diagram


Deployment diagram represents the deployment view of a system .It is related to the Component
diagram. Because the components are deployed using the deployment diagrams. A deployment
diagram consists of nodes. Nodes are nothing but physical Hardware’s used to deploy the
Applications.

Admin Sub Admin

Server

Employee

Fig4.5 Deployment diagram

Chapter-5: SYSTEM DESIGN


INTRODUCTION
Software design sits at the technical kernel of the software engineering process and is
applied regardless of the development paradigm and area of application. Design is the first step
in the development phase for any engineered product or system. The designer’s goal is to
produce a model or representation of an entity that will later be built. Beginning, once system
requirement have been specified and analyzed, system design is the first of the three technical
activities-design, code and test that is required to build and verify software.
The importance can be started with a single word “Quality”. Design is the place where
quality is fostered in software development. Design provides us with representations of software
that can assess for quality. Design is the only way that we can accurately translate a customer’s
view into a finished software product or system. Software design serves as a foundation for all
the software engineering steps that follow. Without a strong design we risk building an unstable
system one that will be difficult to test, one whose quality cannot be assessed until the last stage.
During design, progressive refinement of data structure, program structure, and
procedural details are developed reviewed and documented. System design can be viewed from
either technical or project management perspective. From the technical point of view, design is
comprised of four activities architectural design, data structure design, interface design and
procedural design.

5.1 CLASS DIAGRAM


Identification of analysis classes:
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.
There are 4 approaches for identifying classes:
1. Noun phrase approach.
2. Common class pattern approach.
3. Use case driven sequence or collaboration approach.
4. Classes , Responsibilities and Collaborators approach.
1. Noun phrase approach:

The guidelines for identifying the classes:


a. Look for nouns and noun phrases in the use cases.
b. Some classes are implicit or taken from general knowledge.
c. All classes must make sense in the application domain; Avoid computer
implementation classes defer them to the design stage.
d. Carefully choose and define the class names.

After identifying the classes we have to elimination the following types of classes:
a. Redundant classes.
b. Adjective classes.

2.Common class pattern approach:


The following are the patterns for finding the candidate classes:
a. Concept class
b. Events class
c. Organization class
d. Peoples class
e. Places class
f. Tangible things and devices class.
2. Use case driven approach:

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:

The process consists of the following steps:


a. Identify classes responsibilities (and identify the classes)
b. Assign the responsibilities
c. Identify the collaborators.

Identification of responsibilities of each class:


The question that should be answered to identify the attributes of a class respectively are:
1. What information about an object should we keep track of?
2. What Services must a class provide?

Identification of relationships among the classes:


Three types of relationships among the objects are:
Association: How objects are associated?
Super –sub structure: How are objects organized into super classes and sub classes?
Aggregation: What is the composition of the complex classes?
Guidelines for identifying the tentative associations:
 A dependency between two or more classes may be an association. Association often
Corresponds to a verb or prepositional phrase.
 A reference from one class to another is an association. Some associations are implicit or
taken from general knowledge.

Super – sub class relationships


Super-sub class hierarchy is a relationship between classes where one class is the parent class of
another class(derived class). This is based on inheritance. This hierarchy is represented with
generalization.

Guidelines for identifying the super – sub relationship, a generalization are


1. Top-down: Look for noun phrases composed of various adjectives in a class name. avoid
excessive refinement . specialize only when the sub classes have significant behavior.
2. Bottom-Up: Look for classes with similar attributes or methods. Group them by moving
the common attributes and methods to an abstract class. You may have to alter the
definitions a bit.
3. Reusability: move the attributes and methods as high as possible in the hierarchy.
4. Multiple inheritances: Avoid excessive use of multiple inheritances. One way of getting
benefits of multiple inheritances is to inherit from the most appropriate class and add an
abject of another class as an attribute.
The class diagram is core to object-oriented design. It describes the types of objects.
In the system and the static relationships between them.
Packages
Packages allow you to break up a large number of objects into related groupings. In many
object oriented languages(such as .net), packages are used to provide scope and division to
classes and interfaces. In the UML, packages serve a similar, but broader purpose.

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

1..* one or more


1..2, 10..* one, two or ten and above but not three through nine
The arrows at the end of the associations represent their navigability. In the above examples, the
company references clients, but the client class dose not have any knowledge of the company.
You can set the navigation on either, neither or both ends of your associations. if there is no
navigability shown then the navigability is unspecified.
Admin
User Name
Password

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

Register & login()


Dash Board()
New Task()
Update Task()
Sub Admin Log out()
User Name
Password

Login()
Dash BOard()
Add / manage Task()
Task Status()
Pages()
Search()
Reports()
Log out()

Fig 5.1 Class Diagram


5.2 Database Design
Data dictionary
Database Tables (Data Dictionary): After careful Analysis the system has identified to be
presented with the following database tables:
Objectives
Input design is the process of converting a user- oriented description of the input into
a computer-based system. This design is important to avoid errors in the data input process and
show the correct direction to the management for getting correct information from the
computerized system.
 It is achieved by creating user-friendly screens for the data entry to handle large volume
Of data. The goal of designing input is to make data entry easier and to be free from
errors. The data entry screen is designing in such a way that all the data manipulates can
be performed. it also provides record viewing facilities.
 When the data is entered it will check for its validity. Data can be entered with the help
of screens. Appropriate messages are provided as when needed so that user will not be in
amaze of instant. Thus the objective of input design is to create an input layout that is
easy to follow.

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.

Third Normal Form


A relation is said to be in third normal form if their exits no transitive dependencies.
Transitive Dependency If two non key attribute depend on each other as well as on the
primary key then they are said to be transitive dependent.
The above normalization principles were applied to decompose the data in multiple tables
thereby making the data to be maintained in a consistent state.
Chapter-6: SYSTEM IMPLEMENTATION
6.1 HARDWARE REQUIREMENTS
 Processor- Intel (R) Core (TM) i3-4200U

 CPU - 1.6GHz

 RAM:4 GB

 Hard Disk: 500 GB.

6.2 SOFTWARE REQUIREMENTS

 Operating System - Windows XP & Others

 Local Web Server - Xampp

 Front End - HTML, CSS, JS, PHP

 Back End - MySQL

 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>

<link rel="stylesheet" href="css/bootstrap.min.css" />


<!-- site css -->
<link rel="stylesheet" href="style.css" />
<!-- responsive css -->
<link rel="stylesheet" href="css/responsive.css" />
<!-- color css -->
<link rel="stylesheet" href="css/colors.css" />
<!-- select bootstrap -->
<link rel="stylesheet" href="css/bootstrap-select.css" />
<!-- scrollbar css -->
<link rel="stylesheet" href="css/perfect-scrollbar.css" />
<!-- custom css -->
<link rel="stylesheet" href="css/custom.css" />
<!-- calendar file css -->
<link rel="stylesheet" href="js/semantic.min.css" />

</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{

// Code for deletion


if(isset($_GET['delid']))
{
$rid=intval($_GET['delid']);
$sql="delete from tblemployee where ID=:rid";
$query=$dbh->prepare($sql);
$query->bindParam(':rid',$rid,PDO::PARAM_STR);
$query->execute();
echo "<script>alert('Data deleted');</script>";
echo "<script>window.location.href = 'manage-employee.php'</script>";

?>
<!DOCTYPE html>
<html lang="en">
<head>

<title>Employee Task Management System || Manage Employee</title>

<link rel="stylesheet" href="css/bootstrap.min.css" />


<!-- site css -->
<link rel="stylesheet" href="style.css" />
<!-- responsive css -->
<link rel="stylesheet" href="css/responsive.css" />
<!-- color css -->
<link rel="stylesheet" href="css/colors.css" />
<!-- select bootstrap -->
<link rel="stylesheet" href="css/bootstrap-select.css" />
<!-- scrollbar css -->
<link rel="stylesheet" href="css/perfect-scrollbar.css" />
<!-- custom css -->
<link rel="stylesheet" href="css/custom.css" />
<!-- calendar file css -->
<link rel="stylesheet" href="js/semantic.min.css" />
<!-- fancy box js -->
<link rel="stylesheet" href="css/jquery.fancybox.css" />

</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>

<td><?php echo htmlentities($cnt);?></td>


<td><?php echo htmlentities($row->DepartmentName);?></td>
<td><?php echo htmlentities($row->EmpName);?></td>
<td><?php echo htmlentities($row->EmpEmail);?></td>
<td><?php echo htmlentities($row->EmpContactNumber);?></td>
<td><?php echo htmlentities($row->EmpDateofjoining);?></td>
<td><a href="edit-employee.php?editid=<?php echo htmlentities
($row->eid);?>" class="btn btn-primary">Edit</a>
<a href="manage-employee.php?delid=<?php echo ($row->eid);?>"
onclick="return confirm('Do you really want to Delete ?');" class="btn
btn-danger">Delete</a></td>
</tr><?php $cnt=$cnt+1;}} ?>
</tbody>
</table>
</div>
</div>
</div>
</div>
</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>
<!-- 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 } ?>
Employee Profile.html
<?php session_start();
//error_reporting(0);
include('includes/dbconnection.php');
if (strlen($_SESSION['etmsempid']==0)) {
header('location:logout.php');
} else{
if(isset($_POST['submit']))
{
$etmseid=$_SESSION['etmsempid'];
$deptname=$_POST['deptname'];
$empid=$_POST['empid'];
$empname=$_POST['empname'];
$empemail=$_POST['empemail'];
$empcontno=$_POST['empcontno'];
$designation=$_POST['designation'];
$empdob=$_POST['empdob'];
$empadd=$_POST['empadd'];
$empdoj=$_POST['empdoj'];
$desc=$_POST['desc'];
$sql="update tblemployee set
EmpName=:empname,Designation=:designation,EmpDateofbirth=:empdob,EmpAddress=:empa
dd,EmpDateofjoining=:empdoj,Description=:desc where ID=:eid";
$query = $dbh->prepare($sql);
$query->bindParam(':empname',$empname,PDO::PARAM_STR);
$query->bindParam(':designation',$designation,PDO::PARAM_STR);
$query->bindParam(':empdob',$empdob,PDO::PARAM_STR);
$query->bindParam(':empadd',$empadd,PDO::PARAM_STR);
$query->bindParam(':empdoj',$empdoj,PDO::PARAM_STR);
$query->bindParam(':desc',$desc,PDO::PARAM_STR);
$query->bindParam(':eid',$etmseid,PDO::PARAM_STR);
$query-> execute();
echo '<script>alert("Your profile has been updated")</script>';
echo "<script>window.location.href ='profile.php'</script>";
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<title>Employee Task Management System || Profile</title>

<link rel="stylesheet" href="css/bootstrap.min.css" />


<!-- site css -->
<link rel="stylesheet" href="style.css" />
<!-- responsive css -->
<link rel="stylesheet" href="css/responsive.css" />
<!-- color css -->
<link rel="stylesheet" href="css/colors.css" />
<!-- select bootstrap -->
<link rel="stylesheet" href="css/bootstrap-select.css" />
<!-- scrollbar css -->
<link rel="stylesheet" href="css/perfect-scrollbar.css" />
<!-- custom css -->
<link rel="stylesheet" href="css/custom.css" />
<!-- calendar file css -->
<link rel="stylesheet" href="js/semantic.min.css" />

</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;?>"> &nbsp; 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>

<title>Employee Task Management System||Dashboard</title>

<link rel="stylesheet" href="css/bootstrap.min.css" />


<!-- site css -->
<link rel="stylesheet" href="style.css" />
<!-- responsive css -->
<link rel="stylesheet" href="css/responsive.css" />
<!-- color css -->
<link rel="stylesheet" href="css/colors.css" />
<!-- select bootstrap -->
<link rel="stylesheet" href="css/bootstrap-select.css" />
<!-- scrollbar css -->
<link rel="stylesheet" href="css/perfect-scrollbar.css" />
<!-- custom css -->
<link rel="stylesheet" href="css/custom.css" />

</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 class="col-md-6 col-lg-3">


<div class="full counter_section margin_bottom_30 blue1_bg">
<div class="couter_icon">
<div>
<i class="fa fa-files-o"></i>
</div>
</div>
<div class="counter_no">
<div>
<?php
$sql5 ="SELECT * from tbltask where AssignTaskto=:eid";
$query5 = $dbh -> prepare($sql5);
$query5-> bindParam(':eid', $eid, PDO::PARAM_STR);
$query5->execute();
$results5=$query5->fetchAll(PDO::FETCH_OBJ);
$alltasks=$query5->rowCount();
?><a href="all-task.php">
<p class="total_no"><?php echo htmlentities($alltasks);?></p>
<p class="head_couter" style="color:#000">All Tasks </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>

<title>Employee Task Management System || View New Task</title>

<link rel="stylesheet" href="css/bootstrap.min.css" />


<!-- site css -->
<link rel="stylesheet" href="style.css" />
<!-- responsive css -->
<link rel="stylesheet" href="css/responsive.css" />
<!-- color css -->
<link rel="stylesheet" href="css/colors.css" />
<!-- select bootstrap -->
<link rel="stylesheet" href="css/bootstrap-select.css" />
<!-- scrollbar css -->
<link rel="stylesheet" href="css/perfect-scrollbar.css" />
<!-- custom css -->
<link rel="stylesheet" href="css/custom.css" />
<!-- calendar file css -->
<link rel="stylesheet" href="js/semantic.min.css" />
<!-- fancy box js -->
<link rel="stylesheet" href="css/jquery.fancybox.css" />

</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==""){ ?>

<td class="font-w600"><?php echo "Not Updated Yet"; ?></td>


<?php } else { ?>
<td><?php echo $row->Status;?></td><?php } ?>
<td><a href="view-task.php?viewid=<?php echo htmlentities ($row-
>tid);?>" class="btn btn-primary">View</a>
</td>
</tr><?php $cnt=$cnt+1;}} ?>
</tbody>
</table>
</div>
</div>
</div>
</div>
</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>
<!-- 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 } ?>

Chapter-7: SYSTEM TESTING


7.1 TESTING METHODS

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.

Black Box Testing


Black Box Testing is testing the software without any knowledge of the inner workings,
structure or language of the module being tested. Black box tests, as most other kinds of tests,
must be written from a definitive source document, such as specification or requirements
document, such as specification or requirements document. It is a testing in which the software
under test is treated, as a black box .you cannot “see” into it. The test provides inputs and
responds to outputs without considering how the software works.
7.2 TEST CASE
The purpose of testing is to discover errors. Testing is the process of trying to discover
every conceivable fault or weakness in a work product. It provides a way to check the
functionality of components, sub assemblies, assemblies and/or a finished product It is the
process of exercising software with the intent of ensuring that the
Software system meets its requirements and user expectations and does not fail in an
unacceptable manner. There are various types of test. Each test type addresses a specific testing
requirement.
User Acceptance Testing
User Acceptance of a system is the key factor for the success of any system. The system
under consideration is tested for user acceptance by constantly keeping in touch with the
prospective system users at the time of developing and making changes wherever required. The
system developed provides a friendly user interface that can easily be understood even by a
person who is new to the system.
Output Testing
After performing the validation testing, the next step is output testing of the proposed
system, since no system could be useful if it does not produce the required output in the specified
format. Asking the users about the format required by them tests the outputs generated or
displayed by the system under consideration. Hence the output format is considered in 2 ways –
one is on screen and another in printed format.

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.

Using Live Test Data:


Live test data are those that are actually extracted from organization files. After a system
is partially constructed, programmers or analysts often ask users to key in a set of data from their
normal activities. Then, the systems person uses this data as a way to partially test the system. In
other instances, programmers or analysts extract a set of live data from the files and have them
entered themselves.

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.

Using Artificial Test Data:


Artificial test data are created solely for test purposes, since they can be generated to test all
combinations of formats and values. In other words, the artificial data, which can quickly be
prepared by a data generating utility program in the information systems department, make
possible the testing of all login and control paths through the program.
The most effective test programs use artificial test data generated by persons other than those
who wrote the programs. Often, an independent team of testers formulates a testing plan, using
the systems specifications.
The package “Virtual Private Network” has satisfied all the requirements specified as per
software requirement specification and was accepted.

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

In conclusion, the proposed Employee Task Management system presents a comprehensive


solution to address the challenges faced by organizations in managing tasks efficiently and
effectively. By providing a centralized platform for task assignment, tracking, collaboration, and
reporting, the system streamlines task management processes and enhances productivity within
the organization. Through features such as centralized task management, real-time collaboration
tools, automated reminders and notifications, and robust security measures, the system offers
numerous benefits, including improved accountability, enhanced visibility, streamlined
communication, and data-driven decision-making.

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

Fig 3. Dash Board


Fig 4. Admin Profile

Fig 5. Add Department


Fig 6. Manage Department

Fig 7. Update Department


Fig 8. Add Employee
Fig 9. Manage Employee

Fig 10. Add Task


Fig 11. Employee Login

Fig 12. Employee Dashboard


Fig 13. Profile

Fig 14. New task


Fig 15. View Task

Fig 16. In progress Task


Fig 17. Completed Task

You might also like