Professional Documents
Culture Documents
Customer Feedback Management System
Customer Feedback Management System
INTRODUCTION
This section gives a detailed description of the organization for which the system is developed
along with the overview of the application and the problems associated with goals and the scope of
the proposed system. It also specifies the system environment used in the development of the
proposed system and gives a brief introduction about the various technologies used in the
development of the system.
The problem definition for the proposed customer feedback management system revolves around
addressing the challenges businesses face in effectively managing and utilizing customer feedback.
Businesses struggle with scattered feedback sources and lack real-time insights, hindering their ability
to promptly identify and address emerging trends and issues. Low engagement levels further
exacerbate the problem, as businesses find it difficult to encourage customers to provide meaningful
feedback. Additionally, manual follow-up processes and inadequate data management hinder
efficient feedback utilization and integration with existing systems. Security concerns surrounding
customer data add another layer of complexity.
In response to these challenges, the proposed system aims to provide a centralized platform for
feedback collection, real-time analysis capabilities, enhanced customer engagement features,
automated follow-up mechanisms, scalable data management solutions, seamless integration with
existing systems, and robust security measures. Through these efforts, the system seeks to empower
businesses to improve customer satisfaction and drive continuous improvement initiatives effectively.
1
1.1.1 OBJECTIVES:
The Main objective of the project is to develop features to boost customer engagement and
participation in providing feedback, including personalized invitations, interactive feedback methods,
and incentives. Also, the system aims to implement tools for real-time analysis of feedback data to
promptly identify emerging trends and to provide comprehensive analytics and reporting capabilities to
transform feedback data into actionable insights, guiding strategic decision-making and driving
improvements. The system aims to integrate automated follow-up mechanisms to acknowledge feedback
submissions, provide status updates on issue resolution, and gather additional insights from customers.
The objective of the system is to implement robust security measures to protect customer feedback data
and ensure compliance with data privacy regulations.
1.1.2 SCOPE:
1.1.3 USER:
Customers are the primary users who provide feedback on products, services, or
experiences.
2
Business owners or managers are responsible for overseeing the feedback collection
process, analyzing feedback data, and implementing improvements based on insights
gathered from the system.
Customer support teams utilize the system to address customer issues or concerns raised
through feedback submissions.
1.1.4 LIMITATIONS:
Reliance on technology for feedback collection and analysis introduces the risk of
technical failures, system downtime, or data loss.
Feedback provided by customers may lack context, making it challenging to interpret
and act upon effectively.
Feedback received may not always be representative of the entire customer base, leading
to potential bias in decision-making.
Low response rates can limit the system's effectiveness in capturing diverse perspectives
and experiences.
At Business Web Solutions, we take pride in providing high-quality website design and
development services to small businesses and shop owners in tier-2 and tier-3 cities. Our team
of expert designers and developers are dedicated to creating beautiful, user-friendly websites
that are tailored to the unique needs of each and every client. Whether you’re looking to build
an online store, promote your services, or simply establish a professional online presence,
we’ve got you covered. We believe that every business deserves a website that not only looks
great, but also performs well on search engines. That’s why all of our websites are designed
with SEO in mind, ensuring that our clients get the visibility and traffic they need to succeed
online.
4
CHAPTER II
SYSTEM ANALYSIS
In the existing system of customer feedback systems, feedback often comes from various channels
such as surveys, social media, and direct messages, leading to data silos and difficulty in consolidating
information. Without effective analysis, feedback may not lead to meaningful improvements.
Businesses with unique requirements or specific workflows may encounter limitations to meet their
exact needs.
2.1.2 DRAWBACKS:
Some Feedback systems fail to translate data into actionable steps, resulting in a lack of
tangible improvements.
Some systems are complex to set up and manage, requiring significant training and
investment.
As businesses grow and their customer base expands, scalability becomes a concern. Some
feedback systems struggle to handle large volumes of feedback data or support increasing
numbers of users.
Many existing systems fail to analyze and interpret feedback data to avoid drawing
misleading conclusions or making ill-informed decisions.
5
2.1.3 PROPOSED SYSTEM:
2.1.4 FEATURES
The system’s real-time data analysis capabilities help to enable businesses to promptly
identify emerging trends and address issues as they arise.
Customizable reports and collaboration tools facilitate action planning, while seamless
integration with CRM (Customer Relationship Management), POS (Point of sale), and
other systems streamlines feedback management processes and enhances data analysis
capabilities.
Overall, the system enables businesses to understand customer needs, identify areas for
improvement, and enhance overall customer satisfaction.
It offers seamless integration with existing CRM systems, help desk software, and other
business tools to streamline feedback management processes and enhance data
interoperability.
The proposed system aims to offer robust reporting and visualization tools to transform
feedback data into actionable insights, enabling businesses to make informed decisions
and drive meaningful improvements.
6
2.2 USE CASE MODEL:
A UML use case diagram serves as the cornerstone for defining system/software requirements
in a new software project. Use cases outline expected behaviors, effectively communicating system
functionalities in user-friendly terms. They meticulously detail all externally visible system
behaviors, facilitating clear comprehension of system operation and interaction.
1) Multi-Channel Communication:
The application should support multiple communication channels, including text-based
messages, voice recordings, and direct calls to the call center.
Users should have the flexibility to choose their preferred communication method for
lodging complaints or queries.
Performance:
The application should have fast response times for complaint submission, tracking,
and other functionalities, even during peak usage periods.
8
It should be able to handle a large number of concurrent users without experiencing
performance degradation.
Security
The application should adhere to industry-standard security practices to protect user
data and ensure secure communication.
It should implement encryption mechanisms to safeguard sensitive information, such
as user credentials and complaint details.
Reliability:
The application should be highly reliable, with minimal downtime or service
disruptions.
Accessibility:
The application should be accessible to users with disabilities, following accessibility
standards such as WCAG (Web Content Accessibility Guidelines).
2.3.3 DEPENDENCIES
FRONTEND DEPENDENCIES:
9
BACKEND DEPENDENCIES:
Node.js and npm: Runtime environment and package manager for JavaScript, used for
managing both frontend and backend dependencies and running development scripts.
Pg: The PostgreSQL client for Node.js, which allows your backend application to communicate
with the PostgreSQL database. It provides methods to execute SQL queries, transactions, and
interact with the database programmatically.
SVN: SVN(Subversion) allows multiple users to work collaboratively on a project by tracking
changes to files and directories, maintaining a history of revisions, and enabling users to revert
to previous versions if needed.
External APIs: Payment gateway API for processing online payments securely, and any other
external APIs for integrating additional functionalities or services.
1. Feedback Submission:
Verify that users can submit feedback through various channels, including surveys,
social media, and direct messages.
Confirm that feedback submissions include necessary information and are securely
transmitted and stored.
Ensure that feedback data is associated with unique identifiers to maintain user
privacy.
10
2. Data Integrity:
Validate the integrity of feedback data stored in the system database.
Test the system's ability to detect and handle data inconsistencies or tampering
attempts.
3. Confidentiality:
Ensure that personally identifiable information (PII) collected from feedback
submissions is masked to protect user privacy.
Verify that only authorized users with appropriate permissions can access PII for
analysis and response.
4. Data Security:
Test the security measures implemented to protect feedback data from unauthorized
access or breaches.
Confirm that encryption techniques are used to safeguard sensitive information
during transmission and storage.
5. User Authentication:
Validate the user authentication process for accessing the feedback management
system.
Test the system's response to invalid authentication attempts and unauthorized access.
6. Privacy Preservation:
Confirm that PII collected through feedback submissions is securely stored and
processed.
Verify that mechanisms are in place to prevent unauthorized disclosure of sensitive
customer information.
7. System Resilience:
Test the system's resilience to potential failures or attacks, ensuring uninterrupted
availability and functionality.
11
Evaluate backup and recovery procedures to mitigate data loss or system downtime.
8. Performance Testing:
Assess the system's performance under varying loads of feedback submissions.
Measure response times for submitting feedback, processing data, and generating
reports.
9. Scalability:
Verify that the system can handle a growing volume of feedback submissions without
significant performance degradation.
Test scalability of database systems and server infrastructure to accommodate
increased user activity.
Unit Testing: Unit testing involves testing individual units or components of the software in
isolation to validate their correctness.
Integration Testing: Integration testing evaluates the interaction between different components
or modules of the software to ensure they function together seamlessly as a complete system.
Regression Testing: Regression testing ensures that recent code changes or enhancements have
not adversely affected existing functionality.
Functional Testing: This technique focuses on verifying that each function of the software
application operates as expected according to the functional requirements.
12
2.4.4 TEST EXECUTION PLAN
The test execution plan outlines the approach and sequence for executing tests.
It includes identifying test objectives, selecting appropriate test cases, allocating resources, and
defining timelines.
The plan ensures systematic testing coverage while considering dependencies, risks, and
priorities.
Execution progress is monitored, and results are documented for analysis and reporting,
facilitating timely feedback and decision-making throughout the testing process.
13
CHAPTER III
SYSTEM DESIGN
System design is the process of defining the elements of the system such as architecture,
modules and components, the different interfaces of those components and the data that goes through
that system. It is meant to satisfy specific needs and requirements of a business or organization
through the engineering of a coherent and well running system. System design implies a systematic
approach to the design of a system.
Architectural design is the process of defining a collection of structure of data, hardware and
software components and their interfaces to establish the framework for the development of a
computer-based system. It focuses on the decomposition of a system into different components and
their interactions to satisfy functionality and performance requirements as well as non-functional
requirements of the system. The software that is built for computer-based systems can exhibit one of
the many architectural styles or patterns. An architectural pattern is a general, reusable solution to a
commonly occurring problem.
14
Figure 3.3.1 Architectural Design
15
3.2 CLASS DIAGRAM
Structural design is the methodical investigation of the stability, strength and rigidity of
structures. The basic objective in structural analysis and design is to produce a structure capable of
resisting all applied loads without failure during its intended life.
16
3.3 BEHAVIOURAL DESIGN
Behavioural models show the dynamic behaviour of the system as its executing. They show
what happens or what’s supposed to happen when a system occurs with an error.
17
3.3.1 Activity Diagram for feedback system (Admin)
18
3.3.2 SEQUENCE DIAGRAM
A sequence diagram simply depicts interaction between objects in a sequential order i.e. the
order in which these interactions take place. We can also use the terms event diagrams or event
scenarios to refer to a sequence diagram. Sequence diagrams describe how and in what order the
objects in a system function.
19
3.4 TABLE DESIGN
3.4.1 FEEDBACK TABLE: This table stores the feedback submitted by customers.
3.4.2 LOGINSESSION TABLE: This table stores information about customers who submitted
feedback
Table 3.4.2 LoginSession table.
20
LoginID INT 10 Unique key Unique identifier for Login
LoginCategory VARCHAR 20 Not null Category of Login
3.4.3 FEEDBACKCATEGORY TABLE: This table stores predefined categories or topics for
feedback.
21
3.4.4 FEEDBACKCATEGORYMAPPING TABLE: This table maps feedback to one or more
predefined categories.
3.4.5 FEEDBACKRESPONSE TABLE: This table stores responses or actions taken in response
to feedback.
22
ResponderID INT 10 Not Null ID of the user who
responded to the feedback
3.4.6 HELPDESKDASHBOARD TABLE: This table contains the helpdesk dashboard details
23
3.4.7 CUSTOMER TABLE: This table contains the data of customer using the application.
24
3.5 USER INTERFACE DESIGN:
User Interface (UI) Design focuses on anticipating what users might need to do and ensuring that the
interface has elements that are easy to access, understand, and use to facilitate those actions. UI brings
together concepts from interaction design, visual design, and information architecture. UI Design is the
discipline of designing software interfaces for devices, ideally with a focus on maximizing efficiency,
responsiveness and aesthetics to foster a good user experience.
25
3.5.2 Registration/Sign up Page
26
3.5.4 New Company Add/include Page
27
3.5.5 Generated Invoice
28
3.5.8 Report generation Page
29
3.5.10 Feedback/ Customer satisfaction survey analysis page
30
3.6 DEPLOYMENT DESIGN
31
3.7 NAVIGATION DESIGN:
The navigation design of the customer feedback management system emphasizes intuitive and
efficient navigation paths for users to explore and interact with its features and functionalities. It aims
to enhance user experience by providing clear and logical routes to different functionalities such as ticket
raising, feedback submission, bill payments while ensuring consistency and ease of use across all pages.
32
3.8 CODE DESIGN:
CUSTOMER FORM:
return Promise.resolve();
};
return (
<>
<Form.Item
label={translate('company')}
name="company"
rules={[
{
required: true,
},
{
validator: validateEmptyString,
},
]}
33
>
<Input />
</Form.Item>
<Form.Item
label={translate('Manager first Name')}
name="managerName"
rules={[
{
required: true,
},
{
validator: validateEmptyString,
},
]}
style={{
display: 'inline-block',
width: 'calc(50%)',
paddingRight: '5px',
}}
>
<Input />
</Form.Item>
<Form.Item
label={translate('Manager Last Name')}
name="managerSurname"
rules={[
{
required: true,
},
{
34
validator: validateEmptyString,
},
]}
style={{
display: 'inline-block',
width: 'calc(50%)',
paddingLeft: '5px',
}}
>
<Input />
</Form.Item>
<Form.Item
name="phone"
label={translate('Phone')}
rules={[
{
required: true,
},
{
validator: validateEmptyString,
},
{
pattern: validatePhoneNumber,
message: 'Please enter a valid phone number',
},
]}
>
<Input />
</Form.Item>
<Form.Item
35
name="email"
label={translate('email')}
rules={[
{
type: 'email',
},
{
required: true,
},
{
validator: validateEmptyString,
},
]}
>
<Input />
</Form.Item>
</>
);
}
ORDER FORM
return Promise.resolve();
};
return (
<>
<Form.Item
label={translate('Order ID')}
name="orderId"
rules={[
{
required: true,
},
{
validator: validateEmptyString,
},
]}
>
<Input />
</Form.Item>
<Form.Item
label={translate('Products')}
name="products"
rules={[
{
required: true,
},
{
37
validator: validateEmptyString,
},
]}
>
<Input />
</Form.Item>
<Form.Item
label={translate('Quantity')}
name="quantity"
rules={[
{
required: true,
},
]}
>
<InputNumber style={{ width: '100%' }} min={1} />
</Form.Item>
<Form.Item
label={translate('Price')}
name="price"
rules={[
{
required: true,
},
]}
>
<InputNumber min={0} precision={2} prefix="$" style={{ width: '100%' }} />
</Form.Item>
<Form.Item
38
label={translate('status')}
name="status"
rules={[
{
required: true,
},
]}
>
<Select>
<Select.Option value="Payed">{translate(Payed)}</Select.Option>
<Select.Option value="Receipt generated">{translate(receiptgenerate)}</Select.Option>
<Select.Option value="Assigned">{translate(Assigned)}</Select.Option>
<Select.Option value="cancelled">{translate('Cancelled')}</Select.Option>
</Select>
</Form.Item>
<Form.Item
label={translate('Note')}
name="notes"
rules={[
{
validator: validateEmptyString,
},
]}
>
<Input.TextArea rows={4} />
</Form.Item>
</>
);
}
39
READ INVOICE MODULE
const { id } = useParams();
useLayoutEffect(() => {
}, [id]);
if (isLoading) {
return (
40
<ErpLayout>
<PageLoader />
</ErpLayout>
);
} else
return (
<ErpLayout>
{isSuccess ? (
):(
)}
</ErpLayout>
);
const roleColr = {
owner: 'gold',
admin: 'magenta',
41
manager: 'purple',
employee: 'blue',
create_only: 'green',
read_only: null,
};
const searchConfig = {
searchFields: 'email,name,surname',
outputValue: '_id',
};
const readColumns = [
];
const dataTableColumns = [
42
{ title: translate('Email'), dataIndex: 'email' },
title: translate('role'),
dataIndex: 'role',
const role = text === 'owner' ? 'Account owner' : text === 'admin' ? 'super admin' : text;
},
},
title: translate('enabled'),
dataIndex: 'enabled',
onCell: () => ({
props: {
style: {
width: '60px',
},
},
}),
<Switch
checked={text}
checkedChildren={<CheckOutlined />}
unCheckedChildren={<CloseOutlined />}
/>
),
},
43
FEEBACKFORM MODULE:
function FeedbackForm() {
event.preventDefault();
setName('');
setEmail('');
setFeedback('');
};
return (
<div>
<h2>Feedback Form</h2>
<form onSubmit={handleSubmit}>
<div>
<label htmlFor="name">Name:</label>
44
<input
type="text"
id="name"
value={name}
required
/>
</div>
<div>
<label htmlFor="email">Email:</label>
<input
type="email"
id="email"
value={email}
required
/>
</div>
<div>
<label htmlFor="feedback">Feedback:</label>
<textarea
id="feedback"
value={feedback}
rows="4"
required
/>
45
</div>
<button type="submit">Submit</button>
</form>
</div>
); }
46
CHAPTER IV
SYSTEM TESTING
System testing involves evaluating the entire Customer Feedback Management System to ensure
that all integrated components function correctly. This comprehensive testing process verifies the
system's compliance with specified requirements and assesses its performance, reliability, and security.
Test scenarios cover various user interactions, such as booking accommodations, managing reservations,
and processing payments, to validate the application's functionality and user experience.
TEST RESULT
47
CFM_TC_004 User raises ticket to Successfully ticket Successfully ticket Pass
(Ticket front office. should be raised. has been raised to
Raising) front office.
48
CHAPTER V
SYSTEM IMPLEMENTATION
Database Setup:
Install DBeaver:
Install DBeaver which is a SQL client software application and a database administration tool.
It uses the JDBC application programming interface to interact with databases via a JDBC driver.
After installation configure the setup and then the connect the application with the Postgres
server.
Use database connection strings and environment variables to securely manage database
credentials.
Define API endpoints for handling feedback submissions, retrieving feedback data, and CRUD
operations. Use routing mechanisms provided by your backend framework to map URL routes
to controller functions.
49
CHAPTER VI
CONCLUSION
In conclusion, the development of a customer feedback management system for any business
provider or customer is very much essential for improving customer satisfaction, the quality of product
or service provided, and ensuring the workflow provides the customer a good service experience. The
Automation process ensures the customer is being provided the necessary support and allows the
business provider to prevent revenue losses and customer dissatisfaction.
FUTURE SCOPE:
The Customer Feedback Management System lays a strong foundation for continuous improvement and
expansion. Here are some potential future scope areas for the project:
Predictive Analytics: Implement predictive analytics models to forecast future trends, identify
potential issues proactively, and recommend personalized actions based on historical feedback
data.
50
BIBLIOGRAPHY
BOOK REFERENCE
John Goodman, “Customer Experience 3.0: Evolution of customer experience and relationship
management”, AMACOM, 401-413, 2014.
Francis Buttle and Stan Maklan, “Customer Relationship Management: Concepts and
Technologies", Routledge, Vol.5, Issue 1, pp.30-59, 2009.
WEB REFERENCE
● https://react.dev/
● https://www.postgresql.org/docs/
● https://developer.mozilla.org/en-US/docs/Web/JavaScript
51