Download as pdf or txt
Download as pdf or txt
You are on page 1of 51

CHAPTER I

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.

1.1 PROBLEM DEFINITION

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:

 Feedback Collection Mechanisms: Implement user-friendly interfaces and mechanisms for


collecting feedback from diverse channels, ensuring ease of use and accessibility for customers.
 Real-Time Tracking: Customers will be able to track the progress and current status of their
complaints and queries within the application in real-time, providing them with updates on the
actions taken by authorities.
 User Account Management: The application will feature user account management
functionalities, allowing customers to register accounts, log in securely, and manage their profile
information.
 Omni-Channel Communication: The application will support Omni-channel communication
like text-based messages, voice recordings, social media platforms such as Facebook, Instagram
and direct calls to the customer help desk.

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.

1.2 SYSTEM ENVIRONMENT

1.2.1 HARDWARE REQUIREMENT SPECIFICATION:

Processors : Intel® Core™ i5 processor,


RAM &Disk space : 8 GB of Ram & 320 GB

1.2.2 SOFTWARE REQUIREMENT SPECIFICATION:

Operating System : Windows 10 or higher


Front end : HTML, CSS, JavaScript
Backend : Node.js (JavaScript)
3
Database : PostgreSQL Version 14.11 or higher
Web Server : Apache Web Server

1.3 ORGANIZATION PROFILE

BWS Was established in 2018 by a passionate team of freelancers primarily as a Web


Development company on the principles of high standards, ethics, and genuine customer
service and since then we have provided boost to many small and big businesses and gained
their trusts with repetitive project orders. Our Headquarter is located in Indiana (USA) and
another office in New Delhi (India). Our moto is to make healthy relations with our clients and
we believe that blessing actually works.

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.

At BWS Inc. (India), we aim to be a leading provider of innovative and customized


web development and designing solutions that empower businesses to achieve their full
potential in the digital world. Our team of skilled professionals is dedicated to delivering high-
quality services that exceed client expectations and foster long-term partnerships. We are
committed to staying up-to-date with the latest industry trends and technologies, and
continuously improving our processes and practices to provide exceptional value to our clients.

4
CHAPTER II

SYSTEM ANALYSIS

2.1 SYSTEM DESCRIPTION

2.1.1 EXISTING SYSTEM:

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:

The customer feedback management system offers a comprehensive suite of features to


facilitate feedback collection, analysis, and action planning. Businesses can create customizable
surveys tailored to their specific needs and engage customers through various channels, including
personalized invitations and interactive feedback methods.

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.

Figure 2.2.1 Use case Model for workflow


7
2.3 SOFTWARE REQUIREMENTS SPECIFICATION:

2.3.1 FUNCTIONAL REQUIREMENTS:

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.

2) User Profile Management:


 Users should be able to view and update their profile information within the application.
 The application should allow users to manage their notification preferences and contact
details.

3) Feedback and Rating System:


 Users should have the option to provide feedback and ratings on the handling of their
complaints or queries.
 The application should capture user feedback and ratings for analysis and improvement
purposes.

2.3.2 NON-FUNCTIONAL REQUIREMENTS:

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:

 React: Frontend framework for building web applications.


 Material UI: UI component library for React applications, providing pre-designed and
customizable components.
 Bootstrap 5: Frontend framework for developing responsive and mobile-first websites.
 React CLI: The React CLI (Command Line Interface) is a set of tools that simplifies the process
of creating, building, and managing React applications.
 Git: Version control system for tracking changes to the frontend codebase and collaborating with
other developers.

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.

2.4 TEST PLAN

2.4.1 TEST SCOPE

The Customer Feedback Management System aims to provide businesses with a


centralized platform for collecting, analyzing, and acting upon customer feedback. This test plan
outlines the testing approach, scope, objectives, and environment for validating the system's
functionality, usability, performance, and security.

2.4.2 TESTING FUNCTIONS

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.

10. Compliance and Regulations:


 Ensure that the system complies with relevant data protection regulations, such as
GDPR or CCPA.
 Verify that implemented measures align with industry standards and best practices
for privacy and security.

2.4.3 TESTING TECHNIQUES

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

3.1 ARCHITECTURAL DESIGN

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.

3.2.1 Class Diagram

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.

3.3.1 ACTIVITY DIAGRAM

Activity diagram is a graphical representation of an executed set of procedural system activities


and considered a state chart diagram variation. Activity Diagrams is used to illustrate the flow of control
in a system and refer to the steps involved in the execution of a use case. Sequential processing and
concurrent processing of activities is designed using activity diagrams. It captures the dynamic behavior
of the system. Activity diagrams 20 describe parallel and conditional activities, use cases and system
functions at a detailed level. This diagram depicts the graphical representations of workflows of stepwise
activities and actions for generating reports, classification/regression, handling feature selection and data
import.

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.

3.3.2 Sequence diagram

19
3.4 TABLE DESIGN

3.4.1 FEEDBACK TABLE: This table stores the feedback submitted by customers.

Table 3.4.1 Feedback table.

Field Name Data Type Size1 Constraints Description

FeedbackID INT 10 Primary key Primary key, unique


Not null identifier for feedback
CustomerID INT 10 Foreign Key Foreign key referencing
(Customer) customer ID
FeedbackText TEXT 50 Not null Textual content of the
feedback
Timestamp TIMESTAMP Not null Date and time when
feedback was submitted
Rating INT 10 Not null Numeric rating provided by
the customer
Status VARCHAR 10 Not null Status of the feedback (e.g.,
open, closed)

3.4.2 LOGINSESSION TABLE: This table stores information about customers who submitted
feedback
Table 3.4.2 LoginSession table.

Field Name Data Type Size Constraints Description

SessionID INT 10 Primary key Primary key, unique


identifier for session
SessioDate TIMESTAMP Not null Date of session created

20
LoginID INT 10 Unique key Unique identifier for Login
LoginCategory VARCHAR 20 Not null Category of Login

Channel VARCHAR 10 Not null Channel of Login by user


CurrentRole VARCHAR 20 Not null Current role of logged ID
user
LastEntryDate TIMESTAMP Not null Date of last entry by user
Permissions JSON Null Permissions for User login
DeviceID VARCHAR 10 Not null Device Identifier for
session

3.4.3 FEEDBACKCATEGORY TABLE: This table stores predefined categories or topics for
feedback.

Table 3.4.3 FeedbackCategory table.

Field Name Data Type Size Constraints Description

CategoryID INT 10 Primary key Primary key, unique


identifier for category
CategoryName VARCHAR 20 Not null Name of the feedback
category

21
3.4.4 FEEDBACKCATEGORYMAPPING TABLE: This table maps feedback to one or more
predefined categories.

Table 3.4.4 FeedbackCategoryMapping table.

Field Name Data Size Constraints Description


Type
FeedbackID INT 10 Foreign key Foreign key referencing feedback ID

CategoryID INT 10 Foreign key Foreign key referencing Category ID

3.4.5 FEEDBACKRESPONSE TABLE: This table stores responses or actions taken in response
to feedback.

Table 3.4.5 FeedbackCategoryResponse table.

Field Name Data Type Size Constraints Description

ResponseID INT 10 Primary key Primary key, unique


Not Null identifier for response

FeedbackID INT 10 Foreign key Foreign key referencing


Not null feedback ID

ResponseText TEXT 25 Not Null Textual response or action


taken

22
ResponderID INT 10 Not Null ID of the user who
responded to the feedback

Timestamp TIMESTAMP Not Null Date and time when


response was recorded

3.4.6 HELPDESKDASHBOARD TABLE: This table contains the helpdesk dashboard details

Table 3.4.6 Helpdeskboard table.

Field Name Data Type Size Constraints Description

HelpdeskID INT 10 Primary key Primary key, unique


identifier for Helpdesk
ID
Severity VARCHAR 8 Not null Severity of the Issue
StatusChangedate TIMESTAMP Not null Timestamp of the status
of issue
Guide VARCHAR 10 Not null Guide username for
customer
HelpdeskType VARCHAR 20 Not null Type of helpdesk issue
FunctionName VARCHAR 20 Not null Function name used for
helpdesk
CreatedByName VARCHAR 25 Not null Name of User created
ticket
CreatedAtDate TIMESTAMP Not null Timestamp of issue
created date

23
3.4.7 CUSTOMER TABLE: This table contains the data of customer using the application.

Table 3.4.7 Customer table.

Field Name Data Type Size Constraints Description

CustomerID INT 10 Primary key Primary key Unique Identifer of


customer
Status TEXT 10 Not null Current Status of customer

FirstName VARCHAR 20 Not null First name of customer

LastName VARCHAR 20 Not null Last name of customer

Gender VARCHAR 6 Not null Gender of customer

CustomerAge INT 10 Not null Age of customer

DateOfBirth TIMESTAMP Not null Date of birth of customer

CustomerCategory VARCHAR 10 Not null Category of customer

CustomerMaritalStatus VARCHAR 10 Not null Marital status of customer

Occupation VARCHAR 10 Null Occupation of customer

Nationality TEXT 20 Not null Nationality

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.

3.5.1 Login Page

25
3.5.2 Registration/Sign up Page

3.5.3 Dashboard Page

26
3.5.4 New Company Add/include Page

27
3.5.5 Generated Invoice

3.5.6 Add new product category page

3.5.7 product creation successful screen

28
3.5.8 Report generation Page

3.5.9 Payment preview Page

29
3.5.10 Feedback/ Customer satisfaction survey analysis page

30
3.6 DEPLOYMENT DESIGN

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

3.7.1 Navigation design

32
3.8 CODE DESIGN:

CUSTOMER FORM:

import { Form, Input } from 'antd';


import { validatePhoneNumber } from '@/utils/helpers';

import useLanguage from '@/locale/useLanguage';

export default function CustomerForm({ isUpdateForm = false }) {


const translate = useLanguage();
const validateEmptyString = (_, value) => {
if (value && value.trim() === '') {
return Promise.reject(new Error('Field cannot be empty'));
}

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

import React from 'react';


import { Form, Input, Select, InputNumber } from 'antd';

import useLanguage from '@/locale/useLanguage';

export default function OrderForm({ isUpdateForm = false }) {


const translate = useLanguage();
const validateEmptyString = (_, value) => {
if (value && value.trim() === '') {
36
return Promise.reject(new Error('Field cannot be empty'));
}

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

import NotFound from '@/components/NotFound';

import { ErpLayout } from '@/layout';

import ReadItem from '@/modules/ErpPanelModule/ReadItem';

import PageLoader from '@/components/PageLoader';

import { erp } from '@/redux/erp/actions';

import { selectReadItem } from '@/redux/erp/selectors';

import { useLayoutEffect } from 'react';

import { useDispatch, useSelector } from 'react-redux';

import { useParams } from 'react-router-dom';

export default function ReadInvoiceModule({ config }) {

const dispatch = useDispatch();

const { id } = useParams();

useLayoutEffect(() => {

dispatch(erp.read({ entity: config.entity, id }));

}, [id]);

const { result: currentResult, isSuccess, isLoading = true } = useSelector(selectReadItem);

if (isLoading) {

return (
40
<ErpLayout>

<PageLoader />

</ErpLayout>

);

} else

return (

<ErpLayout>

{isSuccess ? (

<ReadItem config={config} selectedItem={currentResult} />

):(

<NotFound entity={config.entity} />

)}

</ErpLayout>

);

ADMIN PAGE MODULE:

import useLanguage from '@/locale/useLanguage';

import AdminCrudModule from '@/modules/AdminCrudModule';

import AdminForm from '@/forms/AdminForm';

import { Switch, Tag } from 'antd';

import { CloseOutlined, CheckOutlined } from '@ant-design/icons';

const roleColr = {

owner: 'gold',

admin: 'magenta',

41
manager: 'purple',

employee: 'blue',

create_only: 'green',

read_only: null,

};

export default function Admin() {

const translate = useLanguage();

const entity = 'admin';

const searchConfig = {

displayLabels: ['name', 'surname'],

searchFields: 'email,name,surname',

outputValue: '_id',

};

const deleteModalLabels = ['email'];

const readColumns = [

{ title: translate('first name'), dataIndex: 'name' },

{ title: translate('last name'), dataIndex: 'surname' },

{ title: translate('Email'), dataIndex: 'email' },

{ title: translate('role'), dataIndex: 'role' },

];

const dataTableColumns = [

{ title: translate('first name'), dataIndex: 'name' },

{ title: translate('last name'), dataIndex: 'surname' },

42
{ title: translate('Email'), dataIndex: 'email' },

title: translate('role'),

dataIndex: 'role',

render: (text, record) => {

const role = text === 'owner' ? 'Account owner' : text === 'admin' ? 'super admin' : text;

return <Tag color={roleColr[text]}>{translate(role)}</Tag>;

},

},

title: translate('enabled'),

dataIndex: 'enabled',

onCell: () => ({

props: {

style: {

width: '60px',

},

},

}),

render: (text, record) => (

<Switch

checked={text}

checkedChildren={<CheckOutlined />}

unCheckedChildren={<CloseOutlined />}

/>

),

},

43
FEEBACKFORM MODULE:

import React, { useState } from 'react';

function FeedbackForm() {

// State variables to store feedback data

const [name, setName] = useState('');

const [email, setEmail] = useState('');

const [feedback, setFeedback] = useState('');

// Function to handle form submission

const handleSubmit = (event) => {

event.preventDefault();

// Logic to submit feedback data to backend or perform other actions

console.log('Feedback submitted:', { name, email, feedback });

// Reset form fields after submission

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}

onChange={(e) => setName(e.target.value)}

required

/>

</div>

<div>

<label htmlFor="email">Email:</label>

<input

type="email"

id="email"

value={email}

onChange={(e) => setEmail(e.target.value)}

required

/>

</div>

<div>

<label htmlFor="feedback">Feedback:</label>

<textarea

id="feedback"

value={feedback}

onChange={(e) => setFeedback(e.target.value)}

rows="4"

required

/>

45
</div>

<button type="submit">Submit</button>

</form>

</div>

); }

46
CHAPTER IV

SYSTEM TESTING

4.1 TEST CASES AND TEST REPORTS

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

Test case ID Input Expected result Actual result Status

CFM_TC_001 Customer Feedback Successful login Admin successfully Pass


(Admin Login) Management System into the Admin logs in.
Admin initiates the Dashboard.
login process.

CFM_TC_002 User initiates Successful user User/Customer Pass


(User registration process. registration and successfully creates
Registration) profile creation. their profile.

CFM_TC_003 User access their Successful User can add or Pass


(User details profile and modifies modification of user modify user details
modification) their profile details. as intended.
information.

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.

CFM_TC_005 User access their Successful User accesses their Pass


(Feedback profile and provides submission of profile and
submission) feedback. feedback. successfully submits
their feedback.

CFM_TC_006 Level 1 employee Ticket should be Level 2 employee is Pass


(Level 2 Ticket assigns the ticket to successfully assigned with the
Assignment) back office assigned to level 2. ticket successfully.

CFM_TC_007 Front or back-office Resolution should Resolution given to Pass


(Resolution to user provides the be provided to user user is successful.
User) resolution to customer successfully.

CFM_TC_008 User receives the Successful User receives the Pass


(Invoice generated invoice after generation of automatically
Generation) payment. receipt. generated invoice
after payment is
successful.

48
CHAPTER V

SYSTEM IMPLEMENTATION

Install Node.js and npm:


 Download and install Node.js from the official website: Node.js.
 npm (Node Package Manager) comes with Node.js by default.

Install React CLI:


 Open a terminal or command prompt.
 Run the following command to install React CLI globally: npm install -g @reactr/cli

Create a New React Project:


 Navigate to the directory where the project should be created.
 Run the following command to create a new react project: ng new your-project-name
 Follow the prompts to set up your project (routing, CSS preprocessor, etc.).

Database Setup:

 Install and configure PostgreSQL database server on machine or a remote server.


 Installing the necessary facilities for the setup such as Pg admin and Stack Buider.

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.

Implement API Endpoints:

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

By successfully implementing the system's functionalities, such as user registration, ticket


creation, assignment, and feedback collection, both customers and business providers will benefit from
a more efficient and transparent feedback handling process. Customers will have a convenient platform
to report issues, while employees will be equipped with tools to manage and resolve tickets promptly.

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:

 Advanced Analytics: Enhance feedback analysis capabilities by integrating advanced analytics


techniques such as sentiment analysis, natural language processing (NLP), and machine learning
algorithms. This would provide deeper insights into customer sentiments and preferences.

 Predictive Analytics: Implement predictive analytics models to forecast future trends, identify
potential issues proactively, and recommend personalized actions based on historical feedback
data.

 Integration with AI Assistants: Integrate with AI-powered virtual assistants to automate


customer interactions, gather feedback in real-time, and provide instant responses or resolutions
to customer queries and concerns.

50
BIBLIOGRAPHY

BOOK REFERENCE

 Adrian Payne and Pennie Frow, “Customer Relationship Management: A Strategic


Perspective”, International Journal of Innovative Technology and Exploring Engineering,
Vol.9, Issue 1, 2005.

 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

You might also like