0% found this document useful (0 votes)
99 views71 pages

Complete Format V

The document describes an introduction to a complaint management system. The key objectives of the system are to focus on internal issues, provide a platform-independent application that can be accessed anywhere, and reduce communication costs. It aims to efficiently manage call registrations and service requests. The system will track complaint and customer information, describe issues, and increase efficiency. It will assign calls to engineers and update statuses. The document outlines the background, objectives, functionalities, purpose, scope and applicability of the complaint management system.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
99 views71 pages

Complete Format V

The document describes an introduction to a complaint management system. The key objectives of the system are to focus on internal issues, provide a platform-independent application that can be accessed anywhere, and reduce communication costs. It aims to efficiently manage call registrations and service requests. The system will track complaint and customer information, describe issues, and increase efficiency. It will assign calls to engineers and update statuses. The document outlines the background, objectives, functionalities, purpose, scope and applicability of the complaint management system.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 71

CHAPTER 1

1
COMPLAINT MANAGEMENT SYSTEM
INTRODUCTION

The main objective of this Complaint Management system is to focus on the issues related to
internal system. Complaint Management system is a platform independent application, so this
web application can be accessed anywhere in the system. This is also developed for reduces
the communication cost between the staffs and to provide the efficient service to their staffs.
The system need to provide the services to the user who is accessing this system from the
collected information and this system gathering Call Registration about the issues to provide
services. This system which could enhance the day to day activities of the business with
efficiency and correctness. Once the call Registered by the staff/user, it should be assigned to
service engineers and update the calls as quickly as possible. There are various modules
involved in the system.

1.1 Background:
This research focus on creating and Complaint Management System using database, forms
and reports. This is computerized result system. The manual method of customer academic
complaint management is found to be tedious, especially when carried out for a large number
of customers, this makes the entire process time-consuming and error prone. Complaint
Management System presents a single platform that is used to manage the processing of all
personal and academic records for any user.

1.2 Objectives:
The main objective of the Project on COMPLAINT MANAGEMENT SYSTEM is to
manage the fast processing of complaint of customers, the reliable method of complaining.
The status of acknowledgement can be determined.

2
COMPLAINT MANAGEMENT SYSTEM

Functionalities provided by Complaint Management System are as follows:

 It tracks all the information of Complaints, and Customers etc.


 Shows the information and description of the Complaints,
 To increase the efficiency of managing the Complaint issues.
 Manage the information of complaint.
 Manage the information of customer.
 Integration of all records of Complaints.

1.3 Purpose, Scope, and Applicability


1.3.1 Purpose:
Online Complaint Management System provides an online way of solving the problems faced by the
public by saving time and eradicate corruption, And The ability of providing many of the reports on
the system, and add to Facilitate the process of submitting a complaint.

1.3.2 Scope:
This policy applies to all complaints made by a customer or other stakeholder about TAFE
NSW’s services, systems, facilities or service delivery. Online Complaint Management
System provides an online way of solving the problems faced by the public by saving time
and eradicate corruption, And The ability of providing many of the reports on the system, and
add to Facilitate the process of submitting a complaint

1.3.3 Applicability:

 address each complaint in an objective, equitable and impartial manner

 manage a complaint in accordance with the principles of procedural fairness

 take reasonable steps to ensure that people making complaints are not adversely
affected because a complaint has been made by them or on their behalf

 manage conflicts of interest, whether actual or perceived

 ensure that complaints made about a staff member are handled by someone other than
the person about whom the complaint is made, and

 ensure that reviews about how a complaint was managed is conducted by a person other
than the original decision maker.

3
COMPLAINT MANAGEMENT SYSTEM

1.4 Achievements:
 The main objective of the is to provide the complaints of Organization in a simple
way.
 This project is useful for customer and institutions for getting the complaint in simple
manner.
 The system is intended for customer .and the privileges that are provided to customer
are to read and execute his/her result by providing user name and password for secure
login and in case of new customer the registration is available. And the guest user has
the privilege only to read.
 The whole complaints will be under the control of the administrator and the admin as
the full privileges to read, write and execute the complaint.
 The security and safety is the most factors in this project.

1.5 Organization of Report:


It is helpful, to both admin and customer; if the report is logically organized its aim is to
inform them of the reports contents. Should be brief, but it must contain enough information
to distinguish it from other.
1. In Chapter 1:- I have considered project overview under which I have explained various
important terminologies like introduction of project. Motivation (what exactly motivated me
to create priority based cab search), Background, Objectives, Purpose, Scope and
Applicability.
2. In Chapter 2:-In this chapter I have discussed about various technologies such as about
PHP about complaint management and SQL Server to store the database, and the various
languages which are required by the application.
3. In Chapter 3:- I have discussed about the requirement analysis under it I have discussed
about the requirement so of the operating system and also discussed about the Software and
the Hardware requirement.
4. In Chapter 4:-I can see the system design and architecture of various diagram can be seen
in this chapter which represent the software, diagram including our system architecture use
case diagram and so on.

4
CHAPTER 2

COMPLAINT MANAGEMENT SYSTEM


5
2. Survey of Technologies
 Technologies used:
o PHP: Hypertext processor, which the PHP FAQ describes as a recursive
acronym.PHP is an alternative to Microsoft’s active server page (ASP) technology.as
with ASP, the PHP script is embedded within a web page along with its HTML.
Before the page is sent to a user that has requested it, the web server calls PHP to
interpret and platform the operations called for in the PHP script.
 PHP is a server-side, cross-platform, HTML, embedded scripting language. That is a
mouthful, but if we break the definition down into smaller pieces, it is easier to
understand.
 Server-side: this means that php scripts execute on the web server, not within the
browser on your local machine.
 Cross-platform: cross-platform means that PHP scripts can run on many different
operating system and web servers.PHP is available for the two most popular web
server configuration.
o MySQL: MySQL is an open source Relational Database Management System
(RDBMS); it is a popular database for use in web applications, and is a central part of
the greatly used LAMP (Linux, Apache, MySQL, and Perl/PHP/Python) open-source
web application software stack.
MySQL is used by many applications like, Word Press, Joomla, TYPO3, Drupal, and
MyBB, phpBB, MODX and other software. Numerous large scale websites including
Google, YouTube, Facebook, Twitter, and Flickr are also using MySQL .On all
platforms excluding Windows, MySQL sends with no GUI (Graphical User Interface)
to administer MySQL databases or managing the data held within the databases.
Users may install MySQL Workbench by downloading separately or simply may use
the command line tools. Numbers of third party GUI tools are also available.
Swedish company has created MySQL which is written in C and C++.

 Tools:
o XAMPP Server:
XAMPP stands for Cross-Platform (X), Apache (A), Maria DB (M), PHP (P) and Perl
(P). It is a simple, lightweight Apache distribution that makes it extremely easy for
developers to create a local web server for testing and deployment purposes. Everything
needed to set up a web server – server application (Apache), database (Maria DB), and
scripting language (PHP) – is included in an extractable file. XAMPP is also cross-
platform, which means it works equally well on Linux, Mac and Windows. Since most
actual web server deployments use the same components as XAMPP, it makes
transitioning from a local test server to a live server extremely easy as well. Officially,
XAMPP's designers intended it for use only as a development tool, to allow website
designers and programmers to test their work on their own computers without any access.

6
CHAPTER 3

COMPLAINT MANAGEMENT SYSTEM

7
3. Requirement and Analysis
3.1 Problem Definition:
To create an Complaint Management System using ‘PHP’ language involving concept of
searching and sorting its analysis. This software will contain all the necessary information
regarding customer’s record.
To develop a portal that will manage

 Information about the various users


 Information about subjects offered in various semesters
 Marks obtain by customers in semesters
 Generation of reports

3.2 Requirements Specification:


 The requirements specification is produced at the culmination of the analysis task.
The functioned performance allocated to software as part of system engineering are
refined by establishing a complete information description, a detailed function and
behavioral description, an indication of performance requirements and design
constraints, appropriate validation criteria, and other data pertinent to requirements.

 A requirement specification is a structural collection of information that embodies the


requirements of a system.

 A business analyst, sometimes titled system analyst, is responsible for analyzing the
business needs for their clients and stakeholders to help identify business problems
and propose solutions.

 Software requirements specification established the basis for an agreement between


customers and contractors or suppliers on what the software product is to do as well
what it is not expected to do. Software requirements specification permits a rigorous
assessment of requirements before design can begin and reduces later redesign

COMPLAINT MANAGEMENT SYSTEM

8
3.3. Planning and Scheduling:
GANTT CHART:
Gantt charts are a project planning tool that can be used to represents the timing of tasks
required to complete a project, because Gantt charts are simple to understand and easy to
construct, they are used by most project managers for all but the most complex projects.
In a Gantt chart, each task takes up one row, Dates run along the top in increments of days,
weeks or months, depending on the total length of the project. The expected time for each
Task is represented by a horizontal bar whose left end marks the expected beginning of the
task and whose right end marks the expected completion date. Tasks may run sequentially, in
parallel or overlapping. As the project progresses, the chart is updated by filling in the bars to
a length proportional the fraction of work that has been accomplished on the task. This way,
one can get a quick reading of project progress by drawing a vertical line through the chart at
the current date. Completed tasks lie to the left of the line and are completely filled in current
tasks cross the line and are behind schedule if their filled-in section is to the left of the line
and ahead of schedule if the filledin section stops to the right of the line. Future tasks lie
completely to the right of the line. In constructing a Gantt chart, keep the tasks to a
manageable number (no more than 15 or 20) so that the chart fits on a single page. More
complex projects may require subordinate charts which detail the timing of all the subtasks
which make up one of the main tasks. For team projects, it often helps to have an additional
column containing numbers or initials, which identify that on the team is responsible for the
task. Often the project has important events, which you would like to appear on the project
timeline, but which are not tasks. For example, you may wish to highlights when a prototype
is complete or the date of design review. We planned our project using according to the Gantt
chart as shown as follow.

COMPLAINT MANAGEMENT SYSTEM


9
ID Month & Task July Aug Sap Oct Nov Dec Jan Feb March

1. Requirement
Analysis 100%

2.
Design Planning 100%

3.
Coding 100%

4. Implementation
100%

5. Integration
100%

6. Testing 100%

7. Final
Deployment 100%

8. Documentation
100%

9. Submission
100%

Table 3.3.1 GANTT CHART

COMPLAINT MANAGEMENT SYSTEM

10
3.4 Software and Hardware Requirements:

 Software requirements:
 Operating system : WINDOWS10

 Front end : PHP

 Back end : MYSQL

 Tools : XAMPP (cross-platform, apache, MYSQL, PHP)

 Hardware requirements:
 Hard disk : 150GB

 RAM : 2GB

 Intel core : i5 1.8GHZ

3.5 Preliminary Production description:


The first steps in the system development life cycle are the preliminary investigation to
determine the feasibility of the system. The purpose of the preliminary investigation is to
evaluate project requests.it is not a design study nor does it include the collection of details to
describe the business system in all respect. Rather, it is the collection of information that
helps committee members to evaluate the merits of the project request and make and
informed judgment about the feasibility of the proposed project.

Analysts working on the preliminary investigation should accomplish the following


objectives:

 Clarify and understand the project request


 Determine the size of the project.
 Assess costs and benefits of alternative approaches.
 Determine the technical and operational feasibility of alternative approaches.
 Report the findings to management, with recommendations outlining the
acceptance or rejection of the proposal.

COMPLAINT MANAGEMENT SYSTEM

11
3.6 Conceptual Model
Component is a physical Part of a system that conforms to and provides realization of set of
interfaces. A component is a self-contained unit that encapsulates state and behaviour of
various set of classifiers. A component provides set of classes and interfaces with some
functionality and GUI interfaces which may be required to in several services.

Figure 3.6.1 Component Diagram

12
CHAPTER 4

COMPLAINT MANAGEMENT SYSTEM

13
4. SYSTEM DESIGN
Systems design is the process of defining the architecture, components, modules, interfaces,
and data for a system to satisfy specified requirements of the user. During this phase, the
team focused on planning efforts for both the testing and data entry activities of the
computerized SRMIS. This is often conducted via modelling such as UML, ER-Diagram and
Use Case Diagram.
4.1 Basic Modules
A basic module is a separate unit of software or hardware. Typical characteristics of modular
component include probability, which allows them to be used in a variety of systems.

Module description
This system contains seven module which are following
1. Complaint Module 2. customer Module 3.Complaint Type Module

4. Registration Module 5. Customer Module 6.Login Module


1. Complaint module: The main objective for developing this module is to manage the
course data wise. This course module is the main module in this project Complaint
Management System which has been developed on php and mysql.so all course will be
manage by admin. admin can see the list of all the courses and filter it according to the
customers.
2. Staff Module: The main purpose of developing this module is to manage the exam.so all
exam will be manage by admin.it tracks all the information and details of the exam.

3. Complaint Type Module: The main purpose for developing this module is to manage the
exam type.so all exam type will be managed by admin. admin can edit or delete the exam
type.
4. Registration Module: The main purpose for developing this module is to manage the
exam result.so all exam results will be managed by admin and customers will be able to see
the exam result.
5. Customer Module: The main purpose of this module is to provide all the information of
the customer. We have develop all type of CRUD (Create, Read, and delete)

6. Login Module: The main purpose for developing this module is to manage the mark.so all
mark will manage by admin.

COMPLAINT MANAGEMENT SYSTEM

14
4.2 Data Design:
Data flow Diagram:
Complaint Management System data flow diagram is often use as a preliminary step to create
an overview of the result without going into great detail, which can later be elavorated.it
normally consists of overall application dataflow and processes of the result.it contain all of
the user flow and their entities such all the flow of customer, exam, class, subject, result,
teacher, semester.

A data flow diagram (DFD) is a significant modelling technique for analysing and
constructing information processes, DFD literally means an illustration that explain the
course or movement of information in approves. DFD illustrates this flow of information in a
process based on the input and output. A DFD can be referred to as a process model.
Additionally, a DFD can be utilized to visualize data processing or a structured design. A
DFD illustrates technical or business processes with the help of the external data stored, the
data flowing from process to another, and the result, designer usually draw a context-level
DFD showing the relationship between the entities inside and outside of a system as one
single step.

COMPLAINT MANAGEMENT SYSTEM

15
DFD Level 1:

dfd1

COMPLAINT MANAGEMENT SYSTEM

16
DFD Level 2 of customer information

COMPLAINT MANAGEMENT SYSTEM

4.2.1 Schema Design:


17
In computer programming schema is the organization or structure for a database. The activity
of data modelling leads to schema, The term is from a Greek word “form”or”figure.”Another
Word from the same source is “schematic”. The term is used in discussing both relational
databases and object-oriented databases. The term sometimes seems to refer to a visualization
of a structure and sometimes to a formal text-oriented description.

Admin login Details:

Column Name Data Type Size Constraints

Admin Name varchar 40 -------


User id varchar 40 Primary Key
Password varchar 40 -------
Admin role varchar 40 -------
Admin role id varchar 30 -------

Class Details:

Column Name Data Type Size Constraints

Class name varchar 30 Primary Key

Class id int 20 Primary Key

COMPLAINT MANAGEMENT SYSTEM

Result Details:

18
Column Name Data Type Size Constraints

Customer Name varchar 50 Primary Key


Cust Id int 50 Primary Key
Class varchar 50 Primary Key

Customer Details:

Column Name Data Type Size Constraints

First Name varchr 40 Primary key


Last Name varchar 40 Primary Key
Id int 10 Primary Key
Password varchar 10 -------
Class Name varchar 20 Foregin Key

COMPLAINT MANAGEMENT SYSTEM

Architectural design:

19
The software needs the architectural design to represents the design of software.IEEE defines
architectural design as “the process of defining a collection of hardware and software
components and their interfaces to establish the framework for the development of a
computer system. “The software that is built for computer-based systems can exhibit one of
these many architectural styles. Each style will describe a system category that consists of:

 A set of components (eg: a database, computation modules) that will perform a


function required by the system.
 The set of connector will help in coordination, communication, and cooperation
between the components.
 Conditions that how components can be integrated to form the system.
 Semantic models that help the designer to understand the overall properties of the
system.

Figure:-4.2.3 Architecture design

COMPLAINT MANAGEMENT SYSTEM

4.2.2: Data Integrity and Constraints

20
Data integrity is the overall completeness, accuracy and consistency of data. This can be
indicated by the absence of alteration between two instances or between two updates of data
record, meaning data is intact and unchanged. Data integrity is usually imposed during the
database design phase through the use of standard procedures and rules. Data integrity can be
maintained through the use of various error-checking methods and validation procedures.

Table: 1 Admin

Field Name Type Description

Admin Name string

Admin Role Id number

Password varchar

Role string

Table: 2 Customers

Field Name Type Description

Customer Name String

Customer Roll Id number

Customer Class number

Subject string

Customer Result varchar

latitude number

longitude number

COMPLAINT MANAGEMENT SYSTEM

4.3 Procedural Design:


21
4.3 Entity Relationship Diagram:
ERD (entity relationship diagram) is a popular high level conceptual data model. This model
and its variations are frequently used for the conceptual design of database application and
many database design tools employ its concept. Data models are tools used in diagrams to
describe the data requirements and assumptions in the system from a top down perspective an
entity relationship diagram is a graphical representation of an organization’s data storage
requirements.

There are three basic elements in ER model

 Attributes
 Relations
o Many-to-many
o Many-to-one
o One-to-many
o One-to-one
 Weak entity

Symbols Symbol Name meaning

An object that exist and is


distinguishable from all other
Entity objects.

Weak Entity An entity set with no sufficient


attribute to form a primary key.

Relationship Represents the relationship


among the number of entities

COMPLAINT MANAGEMENT SYSTEM

22
Attribute That define the various attribute
of entity

Figure 4.3.1 ER Diagram

COMPLAINT MANAGEMENT SYSTEM

23
4.3.2 Data Structures:
Activity Diagram
Activity diagrams describe the workflow behavior of a system. Activity diagram are similar
to state diagrams because activities are the state of doing something.
The diagram describes the state of activities by showing the sequence of activities performed.
Activity diagrams can show activities that are conditional or parallel.
Activity diagram are mainly used as flow chart consists of activities performed by the system.
But activity diagram are not exactly a flow chart as they have some additional capabilities.
These additional capabilities include branching, parallel flow, swim lane etc.
Before drawing an activity diagram we must have a clear understanding about the elements
used in activity diagram is the activity itself.an activity is a functional performed by the
system. After the identifying the activities we need to understand how they are associated
with constraints and conditions.so before drawing an activity diagram we should identify the
following elements:
 Activities
 Association
 Conditions
 Constraints
Once the above mentioned parameters are identified we need to make a mental layout of the
entire flow.
What to use activity diagrams:
Activity diagrams should be used in conjunction with other modeling techniques such as the
interaction diagrams and state diagrams. The main reason to use activity diagrams is to model
the workflow behind the system being designed. Activity diagrams are also useful for
analyzing a use case by describing what actions needs to take place and when they should
occur, describing a complicated sequential algorithm; and modeling applications with parallel
processes.

COMPLAINT MANAGEMENT SYSTEM

24
Figure 4.3.2.1 Activity Diagram

4.3.3 Algorithms Design


Class diagram
The class diagram is the main building block in object oriented modelling.it is used both for
general conceptual modelling of the systematic of the application, and for detailed modelling
translating the models into programming code. The classes in a class diagram represent both
the main objects and or interactions in the application and the object to be programmed.in this
class diagram these classes are a class diagram is an illustration of the relationships and
source code dependencies among classes in the unified modelling language (UML).in this
context, a class defines the methods and variables in objects, which is a specific entity in a
program or the unit code representing that entity. Class diagrams areas diagram, useful in all
forms of object-oriented programming (OOP).the concept is several years old but has been
refined as OOP modelling paradigms have evolved.
In a class diagram, the classes are arranged in group that share common characteristics. A
class diagram resembles a flowchart in which classes are portrayed as boxes, each box having

COMPLAINT MANAGEMENT SYSTEM


Three triangles inside. The top rectangle contains the name of class; the middle rectangle
contain the attributes of the class; the lower rectangle contains the methods, also called

25
operations, of the class.lines,which may have arrows at one or both ends, connect the boxes.
These lines define the relationship also called associations, between that describes the
structure of a system by showing systems.Classes, their attributes, operations, and the
relationship among the classes. The class diagram is the main building block of object
oriented modelling.it is used both for general conceptual modelling of the systematics of the
application, and for detailed modelling translating the models into programming code.
Classes are composed of three things a name attributes, and operations, represented with
boxes which contain three parts:
 A class with three sections.
 The upper part holds the name of the class
 The middle part contains the attributes of the class.
 The bottom part gives the methods or operations the class can take or undertake.

Figure 4.3.3.1 class diagram

COMPLAINT MANAGEMENT SYSTEM


Sequence diagram:

26
A sequence diagram in unified modelling language (UML) is a kind of interaction diagram
that shows how processes operate with one another and in whatorder.it is a construct of a
message sequence chart. Sequence diagrams are sometimes called event-trace diagrams, even
scenarios, and timing diagrams.

The sequence diagram is used primarily to show the interactions between objects in the
sequential order that those interactions occur. Much like the class diagram, developers
typically think sequence diagrams were meant exclusively for them.

However, an organizations business staff can find sequence diagrams useful to communicate
how the business currently works by showing how various business objects interact. Besides
documenting an organizations current affairs, a business-level sequence diagram can be used
as a requirements document to communicate requirements for a future system
implementation. During the requirements phase of a project analysts can take use cases to the
next level by providing a more formal level of refinement. When that occurs, use cases are
often refined into one or more sequence diagrams.

COMPLAINT MANAGEMENT SYSTEM

4.3.4 Use case diagram:

27
A use case diagram in the unified modelling language (UML) is a type of behavioural
diagram defined by and created from a use case analysis. Its purpose is to present a graphical
overview of the functionality provided by a system in terms of actors, their goals (represented
a use cases), and any dependencies between those use cases.

The main purpose 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.
An actor is represents a user or another system that will interact with the system you are
modelling. A use case is an external view of the system that represents some action the user
might perform in order to com

Use case
Actor

When to use use case diagrams


Use cases are used in almost every project.they are helpful in exposing requirements and
planning the project.during the initial stage of a project most use cases should be defined,but
as the project continues more might become visible.

Use Case Diagram:


A use case diagram at its simplest is a representation of a users interaction with the system
and describing the specifications of a use case.a use case diagramcan portray and users of
system and the various ways they interact with the system.this type of diagrm is typically
used inconjuction with the textual use case and will often be accomained by other type of
diagram as well while a use case itself might drill into a lot of detail about every possiblity,a
use case diagram can help provide a higher-level view of the system

COMPLAINT MANAGEMENT SYSTEM

28
Figure:4.3.4.1 Use Case Diagram

COMPLAINT MANAGEMENT SYSTEM

29
4.5 Security Issue:-
It’s probably safe to say that the security of your networks and systems is something you are
concerned about. In truth, the majority of businesses do have security measures in place. The
question you therefore need to ask yourself is if the measures you have implemented are
sufficient enough. To help answer that question, here are five common security flaws
business owners should be aware of. If you are providing integrated security service to your
clients, whether it is physical / electronic security services, special event security service,
access control solutions, consulting Services, this invoice template could help you create
professional bills with easy and quick.

Just like the other free bill templates available here on InvoicingTemplate.com, this
integrated security invoicing template has a client# cell, you can use this as your customer
account number. This client# is automatically generated, like the invoice numbering sub-
system that assigns increment and unique numbers to each invoice, is based on a counter
implemented by Invoice Manager for Excel (namely Uniform Invoice Software) backend
database.

 Enforcing a strong password policy


 Applying 2-Factor Authentication
 Sending login data over a secure channel
 Automatically logging out customers after a period of inactivity
 Educating our customers on the risks of business email compromise schemes.

Account information. When you sign up for a Complaint systemsystemsystem account or


register as a Bill User, we collect contact and identifying information about you, including
but not limited to: your name; complaint systemsystemaddress; phone number; email; Tax
Identification Number or Social Security Number (collectively, “TIN”); date of birth (natural
persons); government-issued identification (natural persons); and Organization information,
including company name and address, formation documents, business license, tax documents,
phone number and business email address. We require you to choose a strong password, and
may require you to provide device information to receive multi-factor authentication. We
collect information from you when you use the Service, contact us for support, or provide us
with feedback on the Service. As we introduce new products, services or features, we may
collect new and different types of information from you when you use the Service or contact
Bill in connection with your account.

When you request, make, receive, record, or otherwise process a payment through the Bill
Service, we collect information about the payment transaction and the transacting parties,
such as the date, time and location(s) of the transaction, identifying information of the sender
and recipient, the payment or transfer amount(s), bank account information for the sender
and/or recipient, a description of the transaction, and the Service Fees charged by Bill.

COMPLAINT MANAGEMENT SYSTEM

30
4.6 Test Case Design:

Purpose Comment

 If the user’s id and password correctly  If Id and Password is correctly


entered in textbox then he/she will entered only then he/she will able to
find the actual data of the user. go to next page.

 If the admin id and password will be  Admin will also be able to know the
correctly entered in the textbox then current data of the user.
he can add data details and user
registration.

 If the user fills the id and password  By correct Id and password user can
correctly then he/she can update the be access to know the data of their
current data. system.

COMPLAINT MANAGEMENT SYSTEM

Steps Expected Actual Result

31
1.Enter user Email Valid user Email and Then he/she will go to next
2.Enter Password password page and choose his user
3.Click Login name.

And finally can know the


current data details.

1.Enter admin’s id Valid admin Id and Password Then he goes to user’s


2.Enter Password details, and data page
3.Click Login

1.Enter Employee Id Valid user Id and password Then he goes to login page
2.Enter password and update current data and
3.Click login reason to change.

32
CHAPTER NO 5

COMPLAINT MANAGEMENT SYSTEM


IMPLEMENTATION AND TESTING
5. Implementation and Testing
5.1 Implementation Approaches:

33
The following lines will give you an introduction into the implementation of projects in
sustainable sanitation and water management, and highlights key aspects that have to be
taken into account for a successful implementation.

Advantages:

 Implementation gives the opportunity to see the plans become a reality.


 Execution of projects allows user to have access to better services and living
environment.
 Success stores and experiences can be shared with specialists from other cities and
towns encouraging others similar approaches, which in turn may improve complaint
systemsystemsystem management in the local area.
 Project implementation (or project execution) is the phase where visions and plans
Become reality. This is the logical conclusions, after evaluating, deciding, visioning,
planning, applying for funds and finding the financial resources of a project.

Disadvantage:-

 Poor financial planning and technology can lead to budget constraints in the midst of
implementation.
 The decision on when a project is complete often causes friction between
implementers and the community. Completion for the implementer is quite
straightforward. It is defined by contracts, drawings, and statutes.
 Communities have a more practical approach to completion. Once the Project
produces the benefits for which they agreed to undertake it they see no reason to
spend further time, effort and money on it.

Objectives of the Implementation Phase:


The objectives of the implementation Phase can be summarized are as follow:

 Putting the action plan into operation. Achieving tangible change and improvements.
 Ensuring that new infrastructure, new institutions and new resources are sustainable in
every aspect. Ensuring transparency with regard to finances.

COMPLAINT MANAGEMENT SYSTEM


5.2 Coding Details and Code Efficiency:

5.2.1 Code Efficiency:


 Code efficiency is a bored term used to depict the reliability, speed and
programming methodology used in developing codes for an application. Code
efficiency is directly linked with algorithmic efficiency and the speed of runtime
execution for software. It is the key element in ensuring high performance.

34
 The goal of code efficiency is to reduce resource consumption and completion
time as much as possible with minimum risk to the business or operating
environment. The software product quality can be accessed and evaluated with the
help of the efficiency of the code used.
 Recommendation for code efficiency include:
 To remove unnecessary code or code that goes to redundant processing. To
make use of optimal memory and nonvolatile storage.
 To ensure the best speed or run time for completing the algorithm. To
make use of reusable components wherever possible.
 To make use of error and execution handling at all layers of software, such
as the user interface, logic and data flow.
 To create programming code that ensures data integrity and consistency.
 To develop programming code that’s compliant with the design logic and
flow to make use of coding practices applicable to the related software. To
optimize the use of data access and data management practices.
 To use the best keywords, data types and variable, and other available
programming concepts to implement the related algorithm.

COMPLAINT MANAGEMENT SYSTEM


Coding:-
Login:-
<?php include("database.php"); ?>
<!DOCTYPE html>
<html>
<link rel="stylesheet" type="text/css" href="../css/bootstrap.css">
<body style="background: #F5F5DC;">
<div class="container-fluid">
<?php include("logo.php"); ?>

35
<ul class="nav nav-tabs">
<li class="active" disabled="disabled"><a href="login.php"><span class="glyphicon
glyphicon-user"></span>Staff:</a></li>
<li><a href="../index.php"><span class='glyphicon glyphicon-
envelope'></span>Complaints</a></li>
<li><a href="feedback.php"><span class='glyphicon glyphicon-
send'></span>Feedback</a></li>
</ul>
<div class="row">
<div class="col-md-8" style="padding-top:100px;padding-left: 300px;">
<?php
if(isset($_POST['submit'])){
$uname=$_POST['username'];
$pwd=$_POST['password'];
$msg=$db->login($uname,$pwd);
echo $msg;
}
?> <form action="login.php" method="POST" class="form-horizontal">
<div class="form-group">
<label class="col-md-2" for="username">Username:</label>
<div class="col-md-6">
<input type="text" name="username" id="username" placeholder="Username..."
class="form-control">
</div>
</div>
<div class="form-group">
<label class="col-md-2" for="password">Password:</label>
<div class="col-md-6">
<input type="password" name="password" id="password" placeholder="******"
class="form-control">
</div>
</div>
<div class="form-group">
<label class="col-md-2">&nbsp;</label>
<div class="col-md-6"><input type="submit" name="submit" value="Login" class="btn btn-
success"></div>
</div>
COMPLAINT MANAGEMENT SYSTEM

</form>
</div>
<div class="col-md-4" style="padding-top: 100px;">
<div class="panel panel-success">
<div class="panel-heading">
<h3 class="text-danger"><span class="glyphicon glyphicon-warning-sign"></span>Only
Authorised Staff Allowed</h3>
</div>
<div class="panel-body">
<p class="text-success">

36
Please Provide The Correct <b>Username</b> And <b>Password</b> To Login Staff or
System Administrator
</p>
</div>
</div>
</div>
</div>
</div>
</body>
</html>

Index:-
<?php
//include("includes/database.php");
include("logo.php");
?>
<link rel="stylesheet" type="text/css" href="css/bootstrap.css">
<link rel="stylesheet" type="text/css" href="css/main.css">
<body style="background: #F5F5DC;">
<div class="nav" style="background: #F5F5DC;">
<ul class="nav nav-tabs">
<li class="active" disabled='disabled'><a href="index.php"><span class="glyphicon
glyphicon-envelope"></span>&nbsp;Complaints</a></li>
<li><a href="includes/feedback.php"><span class="glyphicon glyphicon-
send"></span>&nbsp;FeedBack</a></li>
</ul>
<center><h3 style="font-weight: bold;">COMPLAINT MANAGEMENT
SYSTEM</h3></center>
<div class="pull-right">
<ul class="nav nav-pills">
<li class="active"><a href="includes/login.php"><span class="glyphicon glyphicon-eye-
open"></span>&nbsp;Login</a></li>
</ul>
</div>
</div>
COMPLAINT MANAGEMENT SYSTEM

<script type="text/javascript" src="js/jquery-3.2.1.min.js"></script>


<script type="text/javascript" src="js/bootstrap.min.js"></script>
<!--
Student goes to home page and logs complaint gets a random ref number
which he will use to get Feedback
-->
<div class="c-body" style="padding-top: 70px;padding-left: 100px;background:
#F5F5DC;">
<div class="complaint-body col-md-6" style="margin: 0 auto;text-align: center;">
<form action="index.php" method="POST" role="form" class="form-horizontal">

37
<div class="form-group">
<label for="fac" class="text-warning">Select Faculty To Complain To:</label>
<select id="fac" name="faculty" class="form-control" style="background: #F5F5DC;">
<option>Faculty Of Science And Technology</option>
<option value="#">Other Faculties</option>
</select>
<textarea name="complaint" class="form-control" placeholder="Type Complaint Here..."
style="height: 200px;background: #F0FFF0;"></textarea>
</div>
<div class="form-group">
<input type="submit" name="submit" value="Send Complaint" class="btn btn-success btn-lg
btn-block" >
</div>
</form>
</div>
<div style="padding-top: 25px;">
<div class="col-md-6 panel panel-info">
<div class='panel-heading'>
<h4 class="panel-title">Complaint Management System</h4>
</div>
<div class="panel-body">
<p class="text-warning">Type Complaint in the Field ,You Will Receive A Reference ID,
which You Will Use To Get Your FeedBack </p>
</div>
<ul class="list-group">
<?php
//after submit message with reference ID is sent to student
require("includes/database.php");
if(isset($_POST['submit'])){
$complaint=$_POST['complaint'];
$date=date("Y-m-d H:m:s");
$faculty=$_POST['faculty'];
$result=$db->query("INSERT INTO complaints
VALUES('','$complaint','pending','$date','$faculty')");
if(!empty($result)){

COMPLAINT MANAGEMENT SYSTEM

//echo "<li class='list-group-item'><h4 class='text-success'><span class='glyphicon


glyphicon-ok'></span>&nbsp;Complaint Submitted Successfully, Copy the Reference
Number For Accessing Your Feedback.</h4></li>";
echo '
<div class="modal fade in" id="myModal" tabindex="-1" role="dialog" aria-
labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content"> <div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;
</button>

38
<h4 class="modal-title" id="myModalLabel"><span class="glyphicon glyphicon-
ok"></span>&nbsp;Success
</h4>
</div> <div class="modal-body">Complaint Submitted Successfully, Copy the Reference
Number For Accessing Your Feedback</div>
<div class="modal-footer"> <button type="button" class="btn btn-default" data-
dismiss="modal" id="close-btn">Close </button>
<button type="button" class="btn btn-primary" id="continue-btn">Continue</button>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal -->
</div>';
$str="SELECT cid FROM complaints ORDER BY cid DESC LIMIT 1";
$query=$db->query($str);
$rows=$db->fetch($query);
//print_r($rows);
$cid=0;
foreach($rows as $row){
$cid=$row;
}
if($cid == 0){ $cid=''; }
$str="INSERT INTO feedback VALUES('','null','null','$cid','','pending')";
$qu=$db->query($str);
if(!$qu){
echo "<li class='list-group-item'><h5 class='alert alert-danger'>Error Getting Reference
ID</h5></li>";
}else{
//SELECT * FROM users INNER JOIN emergency ON users.user_id=emergency.user_id
WHERE emergency.status='pending' ORDER BY dtime DESC
$get="SELECT refid FROM feedback INNER JOIN complaints ON
feedback.cid=complaints.cid WHERE complaints.cid='$cid' ";
$q=$db->query($get);
$rows=$db->fetch($q);
foreach($rows as $row){
echo "<li class='list-group-item'><h3 class='alert alert-success' style='text-align:center;font-
weight:bold;'>CmSxRf".$row."IdFy</h3></li>

COMPLAINT MANAGEMENT SYSTEM

<li class='list-group-item'><a href='#' onclick='javascript:inbox();'>Do You Wish To Receive


Feedback As SMS or Email.? Click Here</a><input type='hidden'
value='CmSxRf".$row."IdFy' id='reference' /></li>
";
break;
}
}

}else{

39
echo "<li class='list-group-item'><h5 class='alert alert-danger'>Fatal Error Occured, Failed to
Send Complaint</h5></li>";
}

?>
<div class="panel panel-success">
<div class="panel-heading">
<?php if(isset($_POST['mail'])){
$names=$_POST['names'];
$phone=$_POST['phone'];
$email =$_POST['email'];
$faculty =$_POST['faculty'];
$refid=$_POST['refer'];
$x=str_replace('CmSxRf','', $refid);
$id=str_replace('IdFy','', $x);
if(!empty($names)||!empty($phone)||!empty($email)||!empty($faculty)||!empty($refid)){
$operation="INSERT INTO mailing VALUES('','$names','$phone','$email','$faculty','$id')";
$query=$db->query($operation);
if(mysqli_affected_rows($db->connection) > 0){
echo "<span class='glyphicon glyphicon-ok'>Success We shall Send Your Feedback As SMS
and Email</span>";
}else{
echo "<span class='text-danger glyphicon glyphicon-remove'>An Error Occured..Please Tray
Again Later</span>";
}

}else{
echo "<h5 class='text-danger'>Fill In All Fields To Receive Feedback as SMS or
Email</h5>";
}

} ?>
</div>
<div class="panel-body" style="display: none;" id="form_mail">
<form action="index.php" method="POST">
<input type="hidden" name="refer" id="form_refid" value="">
COMPLAINT MANAGEMENT SYSTEM
<div class="form-group">
<label for="names">Names:</label>
<input type="text" name="names" placeholder="Type Your Names Here..." class="form-
control" id="names">
</div>
<div class="form-group">
<label id="phone">Phone Contact:</label>
<input type="text" name="phone" placeholder="Type Your Phone Contact Here..."
id="phone" class="form-control">
</div>

40
<div class="form-group">
<label for="email">Email:</label>
<input type="email" name="email" id="email" class="form-control">
</div>
<div class="form-group">
<label for="fac">Faculty Or Department:</label>
<input type="text" name="faculty" id="fac" class="form-control" placeholder="Type Your
Faculty Here...">
</div>
<div class="form-group">
<input type="submit" name="mail" value="Finish" class="btn btn-success btn-block">
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript" src="js/staff.js"></script>
<script type="text/javascript" src="js/custom.js"></script>
</body>
</html>

Admin:-
<?php if(!isset($_GET['sid']))
header("location: login.php"); ?>
<?php include("database.php"); ?>
<!DOCTYPE html>
<html>
<link rel="stylesheet" type="text/css" href="../css/bootstrap.css">
<body style="background: #F5F5DC;">
<div class="container-fluid">
<?php include("logo.php"); ?>
<ul class="nav nav-tabs">

COMPLAINT MANAGEMENT SYSTEM


<li class="active" disabled="disabled"><a href="admin.php?sid=<?php echo $_GET['sid'];
?>&uname=<?php echo $_GET['uname']; ?>"><span class="glyphicon glyphicon-
dashboard"></span>Admin:<i class="text-danger"><?php echo
$_GET['uname'];?></i></a></li>
<li><a href="admin-view.php?sid=<?php echo $_GET['sid']; ?>&uname=<?php echo
$_GET['uname']; ?>"><span class='glyphicon glyphicon-
envelope'></span>Complaints</a></li>
<li><a href="users.php?sid=<?php echo $_GET['sid']; ?>&uname=<?php echo
$_GET['uname']; ?>"><span class="glyphicon glyphicon-user"></span>Users</a></li>
</ul>
<div class="pull-right">
41
<ul class="nav nav-pills">
<li class="active"><a href="../index.php"><span class="glyphicon glyphicon-eye-
close"></span>&nbsp;LogOut</a></li>
</ul>
</div>
<div class="row" style="padding-top: 40px;">
<!--
-click on link to activate admin or staff account to create nd submit form to staff table
-Display List of All staff in users table.
-->
<div class="col-md-3" >
<div class="panel panel-info">
<div class="panel-heading">
<h4 class="panel-title">Create Accounts:</h4>
</div>
</div>
<div class="panel-body">
<ul class="list-group">
<li class="list-group-item" style="background: #DCDCDC;"><a href="#"
onclick="javascript:form(1);">Create Staff Account:<span class="glyphicon glyphicon-
user"></span></a></li>
<li class="list-group-item" style="background: #DCDCDC;"><a href="#"
onclick="javascript:form(2);">Create Admin Account:<span class="glyphicon glyphicon-
dashboard"></span></a></li>
</ul>
</div>
</div>
<div class="col-md-8" style="background: #F5F5DC;">
<div class="panel panel-info" style="display: none;" id="staff-div" style="background:
#F5F5DC;" >
<div class="panel-heading">
<center><h4 class="panel-title">Register Staff:<span class="glyphicon glyphicon-
user"></span></h4></center>
</div>
<div class="panel-body" style="background: #F5F5DC;" >
<?php
if(isset($_POST['staff'])){
if($_POST['password'] != $_POST['cpassword'])
COMPLAINT MANAGEMENT SYSTEM
echo "<h4 class='alert alert-danger'>Passwords Dont Match,Please Try Again</h4>";
else{
$username=$_POST['username'];
$pwd=$_POST['cpassword'];
$full=$_POST['full_names'];
$role=$_POST['role'];
$admin="INSERT INTO staff VALUES('','$username','$pwd','$full','$role')";
$admin_q=$db->query($admin);
$flag=mysqli_affected_rows($db->connection);
if($flag>0){

42
echo "<h4 class='alert alert-success'><span class='glyphicon glyphicon-
ok'></span>&nbsp;Staff Registered Successfully</h4>";
}
}

}
?>
<form action="admin.php?sid=<?php echo $_GET['sid']; ?>&uname=<?php echo
$_GET['uname']; ?>" method="POST" class="form-horizontal">

<div class="form-group">
<label class="col-md-2" for="username">Username:</label>
<div class="col-md-6">
<input type="text" name="username" id="username" placeholder="Type Staff Username
Here..." class="form-control">
</div>
</div>
<div class="form-group">
<label class="col-md-2" for="password">Password:</label>
<div class="col-md-6">
<input type="password" name="password" id="password" class="form-control">
</div>
</div>
<div class="form-group">
<label class="col-md-2" for="cpassword">Confirm Password:</label>
<div class="col-md-6">
<input type="password" name="cpassword" id="cpassword" class="form-control">
</div>
</div>
<input type="hidden" name="role" value="staff">
<div class="form-group">
<label class="col-md-2" for="full_names">Full Names</label>
<div class="col-md-6">
<input type="text" name="full_names" id="full_names" class="form-control">
</div>
</div>
<div class="form-group">
<label class="col-md-2">&nbsp;</label>
<div class="col-md-6" >
COMPLAINT MANAGEMENT SYSTEM
<input type="submit" name="staff" value="Register" class="btn btn-success btn-block">
</div>
</div>
</form>
</div>
</div>
<!-- Admin-->
<div class="panel panel-info" style="display: none;" id="admin-div" style="background:
#F5F5DC;">

43
<div class="panel-heading">
<center><h4 class="panel-title">Register Admin:<span class="glyphicon glyphicon-
dashboard"></span></h4></center>
</div>
<div class="panel-body" style="background: #F5F5DC;" >
<?php
if(isset($_POST['admin'])){
if($_POST['password'] != $_POST['cpassword'])
echo "<h4 class='alert alert-danger'>Passwords Dont Match,Please Try Again</h4>";
else{
$username=$_POST['username'];
$pwd=$_POST['cpassword'];
$full=$_POST['full_names'];
$role=$_POST['role'];
$admin="INSERT INTO staff VALUES('','$username','$pwd','$full','$role')";
$admin_q=$db->query($admin);
$flag=mysqli_affected_rows($db->connection);
if($flag>0){
echo "<h4 class='alert alert-success'><span class='glyphicon glyphicon-
ok'></span>&nbsp;Admin Registered Successfully</h4>";
}
}

}
?>
<form action="admin.php?sid=<?php echo $_GET['sid']; ?>&uname=<?php echo
$_GET['uname']; ?>" method="POST" class="form-horizontal">

<div class="form-group">
<label class="col-md-2" for="username">Username:</label>
<div class="col-md-6">
<input type="text" name="username" id="username" placeholder="Type Admin Username
Here..." class="form-control">
</div>
</div>
<div class="form-group">
<label class="col-md-2" for="password">Password:</label>
<div class="col-md-6">
<input type="password" name="password" id="password" class="form-control">
COMPLAINT MANAGEMENT SYSTEM

</div>
</div>
<div class="form-group">
<label class="col-md-2" for="cpassword">Confirm Password:</label>
<div class="col-md-6">
<input type="password" name="cpassword" id="password" class="form-control">
</div>
</div>

44
<input type="hidden" name="role" value="admin">
<div class="form-group">
<label class="col-md-2" for="full_names">Full Names</label>
<div class="col-md-6">
<input type="text" name="full_names" id="full_names" class="form-control">
</div>
</div>
<div class="form-group">
<label class="col-md-2">&nbsp;</label>
<div class="col-md-6" >
<input type="submit" name="admin" value="Register" class="btn btn-success btn-block">
</div>
</div>
</form>

</div>
</div>
</div>
</div>
</div>
<script type="text/javascript" src="../js/jquery-3.2.1.min.js"></script>
<script type="text/javascript" src="../js/staff.js"></script>
</body>
</html>

Functions:-
<?php
function clean($username,$password){
$uname1=str_replace('\'','',$username);
$uname2=str_replace("'",'',$uname1);
$pwd1=str_replace("'",'',$password);
$pwd2=str_replace('\'','',$pwd1);
return $uname2.'|'.$pwd2;
}
?>

COMPLAINT MANAGEMENT SYSTEM

Users:-
<?php if(!isset($_GET['sid']))
header("location: login.php"); ?>
<?php include("database.php"); ?>
<!DOCTYPE html>
<html>

45
<link rel="stylesheet" type="text/css" href="../css/bootstrap.css">
<body style="background: #F5F5DC;">
<div class="container-fluid">
<?php include("logo.php"); ?>
<ul class="nav nav-tabs">
<li class="active" disabled="disabled"><a href="admin.php?sid=<?php echo $_GET['sid'];
?>&uname=<?php echo $_GET['uname']; ?>"><span class="glyphicon glyphicon-
dashboard"></span>Admin:<i class="text-danger"><?php echo
$_GET['uname'];?></i></a></li>
<li><a href="admin-view.php?sid=<?php echo $_GET['sid']; ?>&uname=<?php echo
$_GET['uname']; ?>"><span class='glyphicon glyphicon-
envelope'></span>Complaints</a></li>
<li><a href="users.php?sid=<?php echo $_GET['sid']; ?>&uname=<?php echo
$_GET['uname']; ?>"><span class="glyphicon glyphicon-user"></span>Users</a></li>
</ul>
<div class="pull-right" style="padding-bottom: 30px;">
<ul class="nav nav-pills">
<li class="active"><a href="../index.php"><span class="glyphicon glyphicon-eye-
close"></span>&nbsp;LogOut</a></li>
</ul>
</div>
<div class="row" style="padding-top: 70px;">
<!--
-click on link to activate admin or staff account to create nd submit form to staff table
-Display List of All staff in users table.
-->
<div class="col-md-6">
<div class="panel panel-info" style="background: #F5F5DC;">
<div class="panel-heading">
<h4 class="panel-title">Admins:<span class="glyphicon glyphicon-cog"></span></h4>
</div>
<div class="panel-body">
<?php
$str1="SELECT * FROM staff WHERE role='admin' ";
$query=mysqli_query($db->connection,$str1);
?>
<ul class="list-group">
<?php
$count=1;
while($rows=mysqli_fetch_array($query)){
COMPLAINT MANAGEMENT SYSTEM
echo "<li class='list-group-item'>".$count.'&nbsp;&nbsp;&nbsp;<b class="text-
success">'.$rows['full_name']."</b></li>";
$count++;
}
?>
</ul>
</div>
</div>

46
</div>
<div class="col-md-6">
<div class="panel panel-info" style="background: #F5F5DC;">
<div class="panel-heading">
<h4 class="panel-title">Respondent Staff:<span class="glyphicon glyphicon-
user"></span></h4>
</div>
<div class="panel-body">
<?php
$str1="SELECT * FROM staff WHERE role='staff' ";
$query=mysqli_query($db->connection,$str1);
?>
<ul class="list-group">
<?php
$c=1;
while($rows=mysqli_fetch_array($query)){
echo "<li class='list-group-item'>".$c.'&nbsp;&nbsp;&nbsp;<b class="text-
success">'.$rows['full_name']."</b></li>";
$c++;
}
?>
</ul>
</div>
</div>

</div>

</div>
<script type="text/javascript" src="../js/jquery-3.2.1.min.js"></script>
<script type="text/javascript" src="../js/staff.js"></script>
</body>
</html>

COMPLAINT MANAGEMENT SYSTEM

Database:-
<?php
require("functions.php");
class database{
public $connection;

47
private $host="localhost";
private $user="root";
private $pwd="";
private $db="cms";
public function __construct(){
$this->connect();
}
public function connect(){
$this->connection=mysqli_connect($this->host,$this->user,$this->pwd,$this->db);
if(!$this->connection){ echo "Error ,Failed to Connect to Database <font
color='red'>".mysqli_connect_errno()."</font>"; }
}
/**
method to execute querys
*/
public function query($sql=""){
$query=mysqli_query($this->connection,$sql);
if($query){return $query; }else{return false;}
}
public function fetch($query){
$fetch=mysqli_fetch_array($query);
return $fetch;
}
public function login($username,$password){
$string=explode("|",clean($username,$password));
$name=$string[0];//username
$pwd=$string[1];//password
$search="SELECT * FROM staff WHERE username='$name' AND password='$pwd' ";
$query=$this->query($search);
$fetch=$this->fetch($query);

if($fetch['role']=='staff'){
$id=$fetch['sid'];
$uname=$fetch['username'];
header("location: staff.php?sid=$id&uname=$uname");
}else{
$search_admin="SELECT * FROM staff WHERE username='$name' AND
password='$pwd' AND role='admin' ";
$q=$this->query($search_admin);
$f=$this->fetch($q);
if($f['role']=='admin'){
COMPLAINT MANAGEMENT SYSTEM
$id=$f['sid'];
$uname=$fetch['username'];
header("location: admin-view.php?sid=$id&uname=$uname");
}else{
return "<h4 class='alert alert-danger'>Incorrect Username or Password</h4>";
}

48
}
}

}
$db=new database();
?>

Logo:-
<div class="row">

<center>

<div class="col-md-6" style="width: 100%;" >

<img src="../img/logo123.png" alt="logo" >

</div>
</center>
</div>

Staff:-
<?php if(!isset($_GET['sid']))
header("location: login.php"); ?>
<?php include("database.php"); ?>
<!DOCTYPE html>
<html>
<link rel="stylesheet" type="text/css" href="../css/bootstrap.css">
<body style="background: #F5F5DC;">
<div class="container-fluid">
<?php include("logo.php"); ?>
<ul class="nav nav-tabs">
<li class="active" disabled="disabled"><a href="staff.php?sid=<?php echo $_GET['sid'];
?>&uname=<?php echo $_GET['uname']; ?>"><span class="glyphicon glyphicon-
user"></span>Respondent:
<?php
if(isset($_GET['uname']))
echo "<i class='text-warning' style='font-weight:bold;'>".$_GET['uname']."</i>";
COMPLAINT MANAGEMENT SYSTEM
?></a></li>
<li><a href="complaints.php?sid=<?php echo $_GET['sid']; ?>&uname=<?php echo
$_GET['uname']; ?>"><span class='glyphicon glyphicon-envelope'></span>Complaints</a></li>
</ul>
<div class="pull-right">
<ul class="nav nav-pills">
<li class="active"><a href="../index.php"><span class="glyphicon glyphicon-eye-
close"></span>&nbsp;LogOut</a></li>
</ul>

49
</div>
<div class="row">
<div class="col-md-8">
<div class="panel panel-success" style="height: 500px;overflow: auto;background: #F5F5DC;">
<div class="panel-heading">
<?php /*
$pending=0;
$done=0;
$tot=0;
$get="SELECT * FROM complaints ";
$get_pend="SELECT * FROM complaints WHERE status='pending' ";
$get_done="SELECT * FROM feedback WHERE status='done' ";
$qp=mysqli_query($db->connection,$get_pend);
$qd=mysqli_query($db->connection,$get_done);
$qt=mysqli_query($db->connection,$get);
while($row=mysqli_fetch_array($qp)){ $pending++; }
while($row=mysqli_fetch_array($qd)){ $done++; }
while($row=mysqli_fetch_array($qt)){ $tot++; }
?>
<center><h4 class="panel-title">Pending Complaints:<?php
echo $pending; */
?>
<!-- &nbsp;&nbsp;&nbsp;Answered Complaints:<?php// echo $done; ?>
&nbsp;&nbsp;&nbsp;Total Complaints:<?php //echo $tot; ?>
</h4></center> -->
<?php
$staffid=$_GET['sid'];
$str="SELECT * FROM forwarded INNER JOIN staff ON forwarded.sid=staff.sid WHERE
forwarded.respondent_id='$staffid' ";
$q=$db->query($str);
if($q){
while($row=mysqli_fetch_array($q)){
echo "<center><h4 class='text-danger'>Forwarded By:".$row['full_name']." AT
".$row['dtime']."</h4></center>";
break;
}
}
?>
</div>
<div class="panel-body">
COMPLAINT MANAGEMENT SYSTEM
<!--
-display link of the complaint when clicked a div shows up for reply to feedback
-->
<table class="table" style="background: #F5F5DC;">
<tr class="active">
<th>#</th>
<th><span class="glyphicon glyphicon-bullhorn"></span>&nbsp;Complaint:</th>
<th><span class="glyphicon glyphicon-calendar"></span>&nbsp;Date:</th>
<th>
<span class="glyphicon glyphicon-send"></span>
</th>
</tr>

50
<?php
//query database to display complaint table data
//$str="SELECT * FROM complaints WHERE status='pending' ORDER BY cid DESC";
$id=$_GET['sid'];
$str="SELECT * FROM complaints INNER JOIN forwarded ON complaints.cid=forwarded.cid
WHERE forwarded.respondent_id='$id' AND complaints.status='pending' ";
$count=1;
$query=mysqli_query($db->connection,$str);
while($rows=mysqli_fetch_array($query)){
echo "<tr>";
echo "<td>".$count."</td>";
echo "<td><a href='#' id='".$rows['cid']."'>Complaint Sent On</td>";
echo "<td><a href='#' id='".$rows['cid']."'> ".$rows['dtime']."</a></td>";
echo "<td><a href='#' id='".$rows['cid']."' onclick=javascript:show(".$rows['cid'].");
>Reply&nbsp;<span class='glyphicon glyphicon-pencil'></span></a>
<input id='desc_".$rows['cid']."' type='hidden' value='".$rows['complaint_description']."' />
</td>";
echo "</tr>";
$count++;
}
?>
</table>
</div>
</div>
</div>
<div class="col-md-4" style="display: none;" id="reply-field">
<?php
/**
* Submit reply to feedback table
**/
if(isset($_POST['replys'])){
$reply=$_POST['reply'];
$id=$_POST['cid_s'];
$sid=$_GET['sid'];
$date=date("Y-m-d H:m:s");
$status='done';

COMPLAINT MANAGEMENT SYSTEM


$update="UPDATE feedback SET description='$reply',dtime='$date',sid='$sid',status='$status'
WHERE cid='$id' ";
$query=mysqli_query($db->connection,$update);
$flg=mysqli_affected_rows($db->connection);
if($flg){
$chnge="UPDATE complaints SET status='$status' WHERE cid='$id' ";
$qury=mysqli_query($db->connection,$chnge);
/**
also send feedback to maillist
*/
$mail="SELECT * FROM mailing INNER JOIN feedback ON feedback.refid= mailing.refid
WHERE feedback.cid='$id' AND feedback.status='done' ";
$mail_query=mysqli_query($db->connection,$mail);
$mail_fetch=mysqli_fetch_array($mail_query);
if($mail_fetch){

51
mail($mail_fetch['email'],'Complaint Feedback',$reply);
echo "<h5 class='text-success'>Email Sent Successfully to <h4 class='text-
danger'>".$mail_fetch['names']."</h4></h5>";
}else{
echo "<h4 class='text-danger'>Email Address or Contact Was Not Provided</h4>";
}

if($flg >0 ){
echo "<h4 class='alert alert-success'><span class='glyphicon glyphicon-ok'></span>Complaint
Answered</h4>";
}
}else{
echo "<h4 class='alert alert-danger'><span class='glyphicon glyphicon-warning-
sign'></span>Complaint Not Successfully Answered</h4>";
}

}
?>
<div style="padding-top: 50px;">
<div class="panel panel-info" style="background: #F0F8FF;">
<div class="panel-heading">
<h4 class="panel-title">Reply Complaint:</h4>
</div>
<div class="panel-body">
<b>
<div style="width:100%px; word-wrap: break-word;">
<span id="complaint_text" class="text-success"></span>
</div>
</b>
<hr />
<form action="staff.php?sid=<?php echo $_GET['sid']; ?>&uname=<?php echo $_GET['uname']; ?>"
method="POST">
<div class="form-group">
<input type="hidden" name="cid_s" id="cid_s" value="" >
COMPLAINT MANAGEMENT SYSTEM
<textarea name="reply" placeholder="Reply Complaint Here..." class="form-control"
style="height:100px;" required="required"></textarea>
<div class="form-group" style="padding-top: 10px;"><input type="submit" name="replys"
value="Reply" class="btn btn-success btn-block"></div>
</div>
</form>
</div>

</div>
</div>
</div>
</div>
</div>
<script type="text/javascript">
function show(id){
if(id >= 0 ){
document.getElementById("reply-field").style.display='block';

52
var body=document.getElementById("desc_"+id).value;
document.getElementById("complaint_text").innerHTML=body;
document.getElementById("cid_s").value=id;
//alert(id);
}else{
document.getElementById("reply-field").style.display='none';
}
}
window.onload=show(1);
</script>
<script type="text/javascript" src="../js/jquery-3.2.1.min.js"></script>
<script type="text/javascript" src="../js/staff.js"></script>
</body>
</html>

Check:-
<!DOCTYPE html>
<html>
<head>
<title>Test</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript">
function codeAddress() {
alert('ok');
}
window.onload = codeAddress;
</script>
</head>
<body>
COMPLAINT MANAGEMENT SYSTEM
</body>
</html>

Head:-
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="../css/bootstrap.css">
<title>CMS</title>
</head>
<body style="background: #F5F5DC;">
<script type="text/javascript" src="../js/bootstrap.min.js"></script>
<div class="container-fluid">
<?php include("logo.php"); ?>
<ul class="nav nav-tabs">
<li disabled='disabled'><a href="../index.php"><span class="glyphicon glyphicon-
envelope"></span>&nbsp;Complaints</a></li>

53
<li class="active"><a href="feedback.php"><span class="glyphicon glyphicon-
send"></span>&nbsp;FeedBack</a></li>
</ul>
<div class="pull-right">
<ul class="nav nav-pills">
<li class="active"><a href="login.php"><span class="glyphicon glyphicon-eye-
open"></span>&nbsp;Login</a></li>
</ul>
</div>

54
COMPLAINT MANAGEMENT SYSTEM

5.3 Testing Approach:


Testing can be done in two ways:

Bottom up Approach
Testing can be performed starting from smallest and lowest level modules and
proceeding one at a time. For each module in bottom up testing a short program
executes the module and provides the needed data so that the module is asked to
perform the way it will when embedded within the larger system. When bottom level
modules are tested attention turns to those on the next level that use the lower level
ones they are tested individually and then linked with the previously examined lower
Level modules.

Top down Approach:


This type of testing starts from upper level modules. Since the details activities
usually performed in the lower level routines are not provided stubs are written. A
stub is a module shell called by upper level module and that when reached properly
will return a message to the calling module indicating that proper interaction
occurred. No attempt is made to verify the correctness of the lower level module.

5.3.1 Unit testing


Unit testing is done on individual modules as they are completed and become executable.
Each module can be tested using the following two strategies:

 Module Testing :
In this strategy some test cases are generated as input conditions that fully execute
all functional requirement for the program .This testing has been used to find errors in
the following categories.

Incorrect or missing functions

 Interface errors
 Errors in data structure or external database access.
 Performance error
 Initialization and termination errors.

In this testing only the output is checked for correctness. The logical flow of data is not
checked.

55
COMPLAINT MANAGEMENT SYSTEM

 White box testing :


In this the test cases are generated on the logic of each module by drawing the flow
graphs that module and logical decisions are tested on all the cases. It has been used
to generate the test cases in the following cases:
 Guarantee that all independent paths have been executed.
 Execute all logical decisions on their true and false sides.
 Execute all loops at their boundaries and within their operational bounds.
 Execute internal data structures to ensure their validity.

5.3.2 Integrating Testing:


Testing performed to expose defects in the interfaces and in the interactions between
integrated component so systems so component integration testing system integration testing.
 Component integration testing :
Testing performed to expose defects in the interfaces and interactions between
integrated components.
 System integration testing :
Testing the integration of system and packages; testing interfaces to external
organizations.(e.g. Electronic Data Interchange , Internet).
 Approaches/Methodologies/Strategies of integration Testing:
Software Engineering defines variety of strategies to execute Integration testing,
viz.

 Big Bang Approach:


 Internal Approach : which is further divided into the following
o Top Down Approach
o Bottom Up Approach
 Sandwich Approach – Combination of Top Down and Bottom Up

Below are the different strategies, the way they are executed and their limitations as well
advantages.

 Big Bang Approach:


Here all component are integrated together at once and then tested.

Advantage:-
 Convenient for small systems.

56
COMPLAINT MANAGEMENT SYSTEM

Disadvantage:
 Fault localizations are difficult.
 Given the sheer number of interfaces that need to be tested in this approach.
 Link to be tested could be missed easily.

5.3.3 Beta Testing


Beta Testing is one of the Acceptance Testing types, which adds value to the product as the
end-user (intended real user) validates the product for functionality, usability, reusability, and
compatibility, Inputs provided by the end-users helps in enhancing the quality of the product
further and leads to its success. This also helps in decision making to invest further in the
future products or the same product for improvisation. Since Beta Testing happens at the end
user’s side, it cannot be the controlled activity.

Purpose of Beta Testing:


o Beta Test provides a complete overview of the true experience gained by the end
users while experiencing the product.
o Beta Testing is always performed right after the completion of Alpha Testing, but
before the product is released to the market.

5.4 Modifications and Improvements:


When I was doing test that I find that my project is not showing current location it show
only latitude and longitude then I saw the code from internet and you tube video after
changing in it my project is working properly and is showing current location.
When I done the longitude and latitude I did not use src in index.html then I purchased
then api key from internet and use it in our index.html. It starts work properly.

At the first stage driver did not being update the latitude and longitude then after some
changes driver update location work properly and stored in database.

57
COMPLAINT MANAGEMENT SYSTEM

5.5 Test Case:


A test case is a set of conditions of variable under which a tester will determine whether an
application is working correctly or not .The mechanism for determining whether a application
program or system has passed or failed such a test is known as a test oracle.

 Test Cases need to be simple and transparent :


Create test cases than are as simple as possible. They must be clear and concise as the
author of the test case may not execute them. Use assertive language like go to the
home page, enter data, and click on this and so on. This makes the understanding the
test steps easy and tests execution faster.

 Create Test Case with End User in Mind


The ultimate goal of any project is to create test cases that meet customer requirement
and operate. A tester must create test cases keeping in mind the end user perspective.

 Avoid test case repetition.


Do not repeat test cases. If a test case is needed for execution some other test case,
call the test case by its test case id in the pre-condition column.

 Do not assume
Do not assume functionality and features of your software applications while
preparing test case. Stick to the specification Documents.

 Ensure 100% Coverage


Make sure you write test cases to check all software applications while preparing test
case. Stick to the Specification Documents.

 Test Cases must be identifiable


Name the test case is such that they are identified easily while tracking defects or
identifying a software requirement at a later stage.

 Implement testing Technique


It’s not possible to check every possible condition in your software application.
Software Testing technique help you select a few test cases with the maximum
possibility of finding a defect.
 Boundary Value Analysis(BVA)

58
COMPLAINT MANAGEMENT SYSTEM

As the name suggests it’s the technique that defines the testing of boundaries for a specified
range of values.

 Equivalence Partition (EP)


This technique partition the range into equal parts groups that tend to have
the same behavior.

 State Transition Technique


This method is used when software behavior changes from one state to
another following particular action.

 Error Guessing Technique


This is guessing/anticipating the error that may arise while doing manual
testing. This is not a formal method and takes advantage of a tester’s
experience with the application.

 Repeatable and self-standing: The test case should generate the same results every
time no matter who tests it. After creating test cases, get them reviewed by your
colleagues. After creating test cases, get them reviewed by your colleagues. Your
peers can another defect in your test case design, which you may easily miss.

59
COMPLAINT MANAGEMENT SYSTEM
Steps:-

Test case# Test case Description Test Data

Check response when valid


1. admin user Id : Admin
Id Password : Admin
And Click : Log In
Password entered

Test Case # Test Case Description Test Data

Check response when valid Email : [email protected]


2 Email Password :123456ss
and Click: Log In
password
is entered

Test Case # Test Case Description Test Data

Check response when


3 valid Name :vibhav
Employee name Password : vibhav123
and Click : Log In
password
is entered

60
CHAPTER NO: 6

61
COMPLAINT MANAGEMENT SYSTEM
RESULT & DISCUSSION
6. RESULT & DISCUSSION
6.1 Test Report

Test Description Test Data Expected Result

Check response
When valid admin Id : Admin Login should be successful
User id Password : Admin .Admin can add user details.
and
Password is entered

Test Description Test Data Expected Result

Check response
When valid admin Email : [email protected] Login should be successful user
Email Password : 123@vib can know their data current
and update of bill as well as
Password is entered information.

Test Description Test Data Expected Result

Check response
When valid Name Name: vibhav Login should be successful, user
and Password : vibhav123 can view their data as well as the
Password is entered bill information

62
COMPLAINT MANAGEMENT SYSTEM

6.2 User Documentation


This content is used gratefully with permission from docdepartment.com technical
documentation refers to the documentation that describes how a product or service operates.
For example, software code documentation, technical specification and API documentation.
User documentation refers to the documentation for a product or service provided to the end
users. The user documentation is designed to assist end users to use the product or service.
This is often referred to as user assistance. The user documentation is a part of the overall
product delivered to the customer.
Traditionally user documentation was provided as a user guide, instruction manual or online
help. However, user documentation is increasingly being delivered online today. This has
enabled technical writers to be more imaginative in how they assist users.

User documentation is important because it provides an avenue for users to learn:

 How to use complaint management system.


 Features of complaint management system.
 Minimum hardware and software requirements.
 Installation guide.
 How to start the application.
 Example inputs and outputs.
 Information to contact with us if an undocumented question arises.

Method Advantage Disadvantage

Online  Larger amount of information  Can’t be accessed


support Easier to update can access offline if you have
from any device can be faster slow internet
connection, It’s bad.

63
COMPLAINT MANAGEMENT SYSTEM

64
COMPLAINT MANAGEMENT SYSTEM

65
COMPLAINT MANAGEMENT SYSTEM

66
COMPLAINT MANAGEMENT SYSTEM

67
COMPLAINT MANAGEMENT SYSTEM

CONCLUSION
application software has been computed successfully and was also tested successfully by
taking “test cases”. It is user friendly, and has required options, which can be utilized by the
user to perform the desired operations. application software meets the information
requirements specified to a great extent. The system has been designed keeping in view the
present and future requirements in mind and made very flexible. The goals that are achieved
by the software are Instant access , Improved productivity, Optimum utilization of resources ,
Efficient management of records.

7.1.1 Significance of the system:-

1. The first advantage is that it offers a paperless mode of transaction which is also
environmentally friendly and clutter free for both the receiver and sender of the electronic
billing.
2. The online complaint system services are one of the least expensive forms of complaint
system when compared to the traditional billing.
3. The electronic complaint system is absolutely hassling free as one can protect the bill with
the help of password and can be opened only by the recipient.
4. The electronic complaint services are both customer friendly and also beneficial for the bill
generators as there is focus on the process rather than on the mode of bill dispatch.
5. The electronic complaint also provides a great advantage of saving time and efforts that are
normally lost in a traditional complaint system .besides there is no loss of bill when making
use of the online mode of billing.

68
ONLINE COMPLAINT SYSTEM

7.2 Limitation of the system:-


This complaint system focuses on the development of an information system that will

automate manual transaction in Billing. However, the study has focused on the following:

 The proposed automated system should generate reports of daily and monthly sales

including reservation transactions of Bills.

 It will generate receipt on every transaction inputted to the system.

 The software will display view of calculations of every transaction.

 For security and privacy of the management, the Complaint System comply two log-

in users with different access level.

 The system will store and recognize customer reservations.

69
ONLINE COMPLAINT SYSTEM
7.3 Future scope of the project

Create Manage
transparency Subscriiption
1st Qtr
2nd Qtr
3rd Qtr
Manual
Customer 4th Qtr
Database Minimize

This work opens a number of paths for future research. The research can be extended in
several directions and some of them are summarized below: x the scope of this study is
limited to only those languages which are based on Java such as AspectJ etc. This work could
be extended to be implemented on AOP languages like AspectC, AspectC++, AspectL (Lisp),
Aspect XML, and Aspect Android etc., which can further be included in the proposed
framework. X The results obtained from the present work are quite informative and
researchers would find them helpful for implementation in real-life projects. x Since the
values of software metrics have been computed on distinct class modules manually, so there
is a need to develop an automated tool to predict the testability of a software system based on
Aspect Oriented Technology. The tool shall calculate the testability at an early stage of
software development life cycle, i.e. from UML diagrams defined at design level. x A
standardized automated tool could also be designed for all the UML diagrams of Aspect
Oriented Systems. We have tried to make such type of software .which satisfy the above
given requirement.

 It satisfies the user requirement.


 Be easy to understand by the user and operator.
 Be easy to operate.
 Have a good user interface.
 Be expandable.
 Delivered on schedule within the budget.

70
COMPLAINT MANAGEMENT SYSTEM

REFERENCES
 Google for problem solving
 http://www.phpworld.com
 https://www.tutorialspoint.com/php/
 http://www.phppoint.com/php-tutorial/
 http://www.xamppserver.com/en/

71

You might also like