Project II
Project II
Project II
Client Management System (CMS) is an established concept which is used to manage client.
This study identifies how web application can be utilized for improved client management
and to understand the potential of web application in the business environment. The CMS a
web based application which offers a comprehensive scope, streamlining client data
management, enhancing client understanding, and fostering data-driven decision- making. Its
structured development methodology, rooted in the Waterfall model, ensures systematic
progress through requirements gathering, system design, implementation, testing,
deployment, and beyond. HTML, CSS, JavaScript, and Bootstrap will be used as frontend
language while PHP will be used as backend language. This report provides an in-depth
exploration of the CMS, offering insights into its development, objectives, scope, and
limitations. Furthermore, it emphasizes the imperative of modernizing client management
processes and positions the CMS as a dynamic tool to empower organizations in building and
nurturing stronger client relationships.
i
ACKNOWLEDGEMENT
I have taken efforts in this project. However, it would not have been possible without the
kind support and help of many individuals and organizations. We would like to extend our
sincere thanks to all of them.
I am highly indebted to our Supervisor Deepak Thakur and Bijay Mishra for their guidance
and constant supervision and as well as for providing necessary information regarding the
project and also for her support in completing the project.
I would like to express our gratitude towards my friends for his/her inspiration and
motivation for completing the project successfully. I would like to express our gratitude
towards our parents and members of DIU for their kind co-operation and encouragement
which help us in completion of this project. We would like to express our special gratitude
and thanks to industry persons for giving us such attention and time.
A final thanks goes to the faculty members of BCA department for providing us opportunity
to do the project.
Yours sincerely,
Abhishek Poudel
ii
Table of Contents
ABSTRACT .............................................................................................................................. i
ACKNOWLEDGEMENT ...................................................................................................... ii
iii
3.2 System Design ............................................................................................................... 15
5.1 Conclusion..................................................................................................................... 30
REFERENCES ...................................................................................................................... 31
APPENDICES .................................................................................................................. 32
iv
LIST OF FIGURES:
Figure 3.1; Use Case Diagram of CMS .................................................................................... 7
Figure 3.2: Class Diagram of CMS......................................................................................... 10
Figure 3.3: Sequence diagram for admin of CMS .................................................................. 11
Figure 3.4: Activity Diagram For Admin Of CMS ................................................................. 13
Figure 3.5: Refinement Of Class and Object Diagram For CMS ........................................... 15
Figure 3.6: Component Diagram For Admin of CMS ............................................................ 16
Figure 3.7: Component Diagram For Clients of CMS ............................................................ 17
Figure 3.8: Deployment Diagram Of CMS ............................................................................. 18
v
LIST OF TABLES
Table 4.1: Unit Test test of login ............................................................................................ 23
Table 4.2:Unit test for adding user ......................................................................................... 23
Table 4.3 : Unit test for adding Services ................................................................................. 25
Table 4.4 Unit test Generating Invoice ................................................................................... 25
Table 4.5 : Unit test of Invoices .............................................................................................. 26
Table 4.6: Unit test of Sales details ....................................................................................... 27
Table 4.7: Test case for System Testing ................................................................................. 28
vi
LIST OF ABBREVIATIONS
vii
CHAPTER 1: INTRODUCTION
1.1 Introduction
In an era marked by unprecedented technological advancements, the efficient management of
client relationships has become paramount for businesses across diverse industries. The need
for a streamlined, user-friendly, and secure client management system has never been more
critical. In response to this demand, we have developed a cutting-edge web application
dedicated to enhancing the way businesses interact with their clients.
The Client Management System (CMS) web application serves as a pivotal tool for
businesses seeking to optimize client interactions, improve communication, and foster lasting
relationships. Its primary purpose is to simplify and centralize the management of client data,
enabling organizations to deliver personalized services, timely support, and tailored
solutions.
Client Management System web application, offering insights into its architecture, features,
user interface design, data management, security measures, and future development plans. It
serves as a comprehensive guide to understanding the application's capabilities and its
potential to revolutionize client management processes.
The CMS a web based application which offers a comprehensive scope, streamlining client
data management, enhancing client understanding, and fostering data-driven decision-
making. Its structured development methodology, rooted in the Waterfall model, ensures
systematic progress through requirements gathering, system design, implementation, testing,
deployment, and beyond. HTML, CSS, JavaScript, and Bootstrap will be used as frontend
language while PHP will be used as backend language.
Overall the CMS web application represents a paradigm shift in client management, offering
organizations an opportunity to re-imagine their approach to client relationships.
1
1.2 Problem Statement
In the modern business landscape, organizations face an array of complex challenges when it
comes to managing client relationships and interactions. Some of the problems are addressed
below:
1.3 Objectives
To streamline client data management, enhance client understanding, and improve
operational efficiency.
To empower businesses to make informed decisions, personalize client interactions,
and foster client engagement.
2
1.4.2 Limitations
Initial setup and data migration may be complex, and costs can accrue for licensing
and maintenance.
Integration depends on compatibility and technical expertise.
Data quality and user adoption are critical, and ongoing resource allocation is
necessary.
So, due to these reasons waterfall model will be followed as the software development
process for this Client Management System (CMS) web application.
3
1.6 Report Organization
Chapter 1 includes the overall view of the project i.e. the basic problem definition,
objectives, scope and limitation of the project.
Chapter 2 covers the description about fundamental theories of the project, their general
concepts and terminologies related to the project. It also gives review about the similar
projects that have been developed earlier and the theories done by other researchers
Chapter 3 includes the functional and non-functional requirements for the smooth running
of the application. It also discuss about the feasibility study. It also contains technical
diagrams like Class diagram, Component diagram, Sequence diagram, Activity diagram and
Deployment diagram.
Chapter 4 describes the different tools used for the development along with programming
languages and database platforms. It also gives the implementation details of modules. It also
includes different testing like unit and system testing that has been done to detect the faults
and solve them
Chapter 5 has outcome of the project and lesson learnt from it. It also includes the future
recommendations that have to be added or modified for the smooth and better performance of
the system.
4
CHAPTER 2: BACKGROUND STUDY AND LITERATURE
REVIEW
The transition from paper-based systems to digital solutions was driven by recognition of
several pressing challenges. First and foremost, inefficiency and disorganization plagued
traditional client management. Businesses struggled with data scattered across various
spreadsheets and paper records, leading to duplication, inconsistencies, and labor-intensive
data entry tasks. Such inefficiencies hindered the ability to provide timely, personalized
services, diminishing client satisfaction.
Data security and privacy concerns added another layer of complexity. As data breaches
became more prevalent, businesses faced heightened pressure to protect sensitive client
information and comply with a growing array of data protection regulations. Failure to do so
not only posed legal risks but also eroded trust and damaged reputations.
Moreover, the scalability of traditional client management methods became a bottleneck for
organizations experiencing growth. Expanding client portfolios strained existing systems,
making it challenging to maintain data integrity and ensure seamless client interactions.
The Client Management System (CMS) web application emerged as a strategic response to
these challenges. It represents a transformative approach to client management, offering a
centralized, secure, and scalable platform that enhances client understanding, streamlines
operations, and empowers organizations to thrive in a data-driven, client-centric era. This
background study underscores the pressing need for such a solution and sets the stage for the
comprehensive exploration of the CMS in this report.
5
2.2 Literature Review
There are similar client management systems, each offering unique insights and approaches
to address the challenges of modern business. These systems represent a testament to the
growing recognition of the importance of client relationship management in organizational
success.
One notable system is Salesforce, a widely adopted client management (CMS) platform.
Salesforce offers a comprehensive suite of tools for client data management, sales
automation, and customer engagement. Its success lies in its ability to centralize client
information, automate routine tasks, and provide data analytics for informed decision-
making. However, it can be complex to implement and costly for smaller businesses. [1]
HubSpot, another prominent system, offers a user-friendly CRM with robust marketing
automation capabilities. It focuses on inbound marketing, helping organizations attract,
engage, and delight clients. While suitable for businesses with a strong emphasis on digital
marketing, it may lack certain advanced features found in more extensive systems. [2]
Zoho CRM is a versatile system known for its affordability and customization options. It
offers features for sales automation, analytics, and multichannel communication. Zoho's
strength lies in its adaptability to businesses of all sizes, but it may require integration with
other tools for specialized functionalities. [3]
Insightly, geared towards smaller businesses, combines CRM with project management. It
streamlines client interactions and project workflows, offering an all-in-one solution.
However, it may lack the advanced features required by larger enterprises. [4]
These systems demonstrate the diversity in approaches to client management. They offer a
range of features, scalability options, and pricing structures to cater to the diverse needs of
organizations. While each system has its strengths and limitations, they collectively
contribute to the ongoing evolution of client management solutions, offering valuable
insights for the development and improvement of systems like the Client Management
System (CMS) web application discussed in this report.
6
CHAPTER 3: SYSTEM ANALYSIS AND DESIGN
The above use case diagram shows the functional requirement of the Client Management
System. It is clearly exhibited that the system consists of two actors – Client and admin.
Client can login in the system. Client are added into the system by admin, after client are
created they are able to login and logout, check the invoices. Similarly, the admin can login
and logout of the system. Admin can manage Client, add services, create invoice, manage
and view invoices.
7
ii. Non Functional Requirement
Software Requirement
This includes the study of function, overall performance, and constraints that would
have an impact on the potential to gain the ideal system, as required. Here, one has to
check whether or not the system may be developed by the use of current technology
or not. This system has used HTML, and CSS as front-end and PHP, and SQL server
as backend. This system is a more realistic and mature approach to online hotel room
reservations.
ii. Operational
If the system is being created and implemented, it will be tested to see if it can be
used and function properly. The operational viability is the application's primary
focus. The user interface will be created with ease of use in mind. Everyone who has
a basic understanding of the internet can utilize it. The best possible use of computer
8
resources is made possible by the well-thought-out design, which also aids in raising
performance levels. This project is therefore technically possible.
iii. Economic
Economic feasibility decides whether the necessary software can generate financial
profits for an organization. It keeps data in the digital format that is reliable and
cheaper. The development cost for system satisfies the organization. This system is
quite simple and it does not require extra software and hardware i.e., it makes use of
open-source code.
iv. Schedule
The duration of the time required for the project has been estimated appropriately and
it is the same as the duration of time expected by the user. Therefore, the project can
be delivered to the user within the expected time duration, satisfying the user. Hence,
the project is feasible in scheduling.
9
3.1.3 Object Modelling using Class and Object Diagrams
Class Diagram
10
The above diagram shows the class diagram of the ‘Client management System’. In
this system we have only four classes and they are: Admin, Client, Services and
Invoices with their respective attributes and methods.
Sequence Diagram
For Admin
Figure 3.3 shows the sequence diagram for admin. The admin needs to login to the
system to gain access to the dashboard. Here they add/register client and manage
clients.
11
For Client
Figure 3.4 shows the sequence diagram for user. Here Client doesn’t need to register
themselves. They are added by admin and can perform activities like get detail info,
view invoices, search for invoices.
12
3.1.5 Process Modelling Using Activity Diagrams
Sequence diagram is a type of interaction diagram that describe how objects in a
system work and in what order.
For Admin
Figure 3.5 shows the activity diagram for admin that represents the workflow of the
admin in the CMS. When the admin accesses the system, they can view dashboard
displaying various registration forms of the Client. The admin can manage and add
both the Client and Services generate invoices. The diagram starts with the “Start”
node.
13
For User
Figure 3.6 is the activity diagram represents the workflow of the clients. The diagram starts
with “Start” node. Here the user can View/manage profile search for invoices.
14
3.2 System Design
3.2.1 Refinement of Class and Object Diagram
Figure 3.7 is the refinement of class and object diagram for Client Management System.
There are four tables each with their own identifier and attributes and the module. In this
system the admin fills up the registration form which then client login to the system.
Similarly, the admin can manage the client registration. Admin plays very important role in
managing services, generating invoices, managing clients. Service module The Client after
being registered can manage their profile, view/search invoices. Service module used to show
and add services. Invoice module is used to generate invoices and sales report. In this figure
the minus(-) sign indicates private access whereas the plus(+) sign indicates public access.
15
3.2.2 Component Diagram
For Admin
Figure represents the component diagram for admin of Client Management System.
The admin shall view the details of the Client, maintain their registration and also
manages their details. Like the admin shall be able to add/manage services, generate
invoices. These data get stored in the MySQL database.
16
For Client
Figure 3.9 represents the component diagram for Client of. The Client shall view
their profile, view/search for invoices.
17
Figure 3.10: Deployment Diagram of CMS
18
3.3 Algorithm details
Binary Search Algorithm
Binary search is a popular and efficient searching algorithm used to find a specific element
within a sorted array. It works by repeatedly dividing the search interval in half until the
desired element is found or it's determined that the element is not present in the array. Binary
search has a time complexity of O(log n), making it much faster than linear search for large
datasets. [5]
In CMS random nine digit code is generated as invoice number unique with each other. So it
works by comparing each number with its closest neighbor. It works as follow:
Step 1: Start
Step 2: Initialization: Begin with the entire sorted list of 9-digit codes and two pointers, left
and right, initialized to the first and last indices of the list, respectively.
Step 3: Middle Element: Calculate the middle index mid as the average of left and right: mid
= (left + right) // 2. This index divides the list into two sub-lists.
Step 4: Comparison: Compare the middle 9-digit code (list[mid]) with the target 9-digit code
you're searching for.
If list[mid] is equal to the target code, you've found the code, and the search is
successful. Return mid as the index of the target code.
If list[mid] is less than the target code, update left to mid + 1 and repeat the process in
the right sublist.
If list[mid] is greater than the target code, update right to mid - 1 and repeat the
process in the left sublist.
Step 5: Repeat: Continue steps 2 and 3 until left is less than or equal to right. If left becomes
greater than right without finding the target code, the search terminates, and the target code is
not in the list.
Step 6: End
19
List Filtering Algorithm (Day/month/Early)
A list filtering algorithm is a process that involves iterating through a list or array of elements
and selecting specific elements that meet certain criteria while excluding others. This is
typically done to create a new list or array containing only the elements that satisfy the
filtering conditions.
In CMS it is used to generate to total sales report yearly, monthly or through given date
range. It is also used to get the info on the invoices generated on different days through day
wise filtration. It works as:
Step 1: Start
Step 2: Initialize an empty result list or array where you will store the filtered elements.
Step 3: Iterate through the original list: For each element in the original list, check whether it
meets a certain condition or criteria.
If the element satisfies the condition, add it to the result list or array.
If the element does not meet the condition, skip it.
Step 5: Continue the iteration until you have examined all elements in the original list.
Step 6: Return the filtered result list or array.
Step 7: Stop
20
CHAPTER 4: IMPLEMENTATION AND TESTING
4.1 Implementation
4.1.1 Tools Used
The tools used for this project are:
i. Draw.io:
Draw.io is used in this project to create the diagrams like Class diagram,
Sequence diagram, and Component diagram and so on.
ii. MySQL:
MySQL was used along with PHP scripts for developing our database structure.
It became extensively utilized to carry out numerous activities like insertion,
deletion, and update of the records saved in the database.
iii. HTML:
HTML is a markup language used by the browser to manipulate text, images,
and different content with the purpose to show it in the required format. For the
implementation in the front end, we've used HTML for a terrific appearance and
sense to the user with the display of the contents of the layout and the system.
Different markup tags are used like anchor tags for hyperlinks and form tags for
forms.
iv. CSS:
CSS was used to define styles on our web pages, which include the design,
layout, and versions in the show for different devices and screen sizes.
v. PHP:
PHP is a server-side scripting language that is embedded in HTML. It is
included with some of the famous databases, which include MySQL, and its
usage has helped us add, delete, and modify elements inside our database via
PHP. Using PHP, we had been capable of limiting customers to get entry to a
few pages of our website.
21
4.1.2 Implementation Details of module
The modules used in this project are as follows:
Login: This module has a login are username and password. If the user name and
password are correct then it is directed to next page.
Add User: This module is used to create new users who do not have their account.
Here admin is allowed to create an account for the users. The account creation is
done by filling the registration form with user details such as name, phone, email etc.
Accounts: This module is for manipulating all the user accounts created and stored
in the database.
Create Services: This module offers to create view and manipulate different type of
service that is available.
Generate Invoice: This module is used to create manage and records all the invoice
details.
Admin: This module is only accessible by administrator. The admin has all the rights
in the software including updated status, updated the Employee ID, Emp. Name, Add
services, Create and view invoices.
22
4.2 Testing
4.2.1 Test case for Unit Testing
Login
Table 1 Unit Test test of login
Test Case 01
ID:
Purpose: The purpose of this testing to ensure the customer are allowed to register the
web application with proper data.
Status: Pass
Add User
Table 4.2:Unit test for adding user
Test Case 02
ID:
Purpose: The purpose of this testing to create new user to the web application and the
data is saved in the database.
Pre-Req: The user fills all the requested data for a successful entry.
23
Steps: Step formatting rules below.
1. automatically generate customer-id
2. enter the customer name
3. enter username
4. set customer password
7. add user
8. requested data saved to the database
Status: Pass
24
Add Services
Test Case 03
ID:
Purpose: The purpose of this testing to ensure the admin can add different services in
the web application
Status:
Pass
Generate Invoice
Table 4.4 Unit test Generating Invoice
Purpose: The purpose of this testing to assign services to user and generate invoice.
25
Steps: Step formatting rules below.
1. Click on Client list.
2. Select a Client.
3. Assign different services.
4. Invoice number is generated for selected services.
Status: Fail
View Invoices
Table 4.5 : Unit test of Invoices
Pre-Req: The admin can get the invoice details through day wise invoice filter.
Test Data: Invoice ID, Company Name, Contact Name, Invoice date.
Status: Pass
26
Sales details
Table 4.6: Unit test of Sales details
Status: Fail
27
4.2.2 Test cases for system testing
System Testing is a type of software testing that is performed on a complete integrated
system to evaluate the compliance of the system with the corresponding requirements.
System Testing is carried out on the whole system in the context of either system
requirement specifications or functional requirement specifications or both.
28
Sales Date, total no of sales The purpose of this testing Pass
details to view all the invoices
available.
29
CHAPTER 5: CONCLUSION AND FUTURE
RECOMMENDATIONS
5.1 Conclusion
In conclusion, the Client Management System (CMS) web application emerges as a dynamic
and strategic solution to the pressing challenges faced by modern organizations in managing
client relationships. Through a structured development methodology, it addresses the
inefficiencies, scalability constraints, and security concerns associated with traditional client
management methods. By centralizing data, enhancing client understanding, and fostering
data-driven decision-making, the CMS empowers businesses to thrive in a competitive
landscape. While other similar systems offer valuable insights, the CMS's comprehensive
scope, scalability, and adaptability position it as a transformative tool for organizations of all
sizes. It represents a forward-looking approach to client management, poised to revolutionize
the way businesses interact with and nurture their client relationships.
First, continuous updates and improvements are essential to keep the system aligned
with evolving client management needs and technology trends.
Moreover, incorporating machine learning and artificial intelligence for advanced
analytics and predictive insights can provide a competitive edge.
Lastly, user training and support should remain a priority to maximize user adoption
and ensure that organizations harness the full potential of the CMS.
30
REFERENCES
[1] Customer Relationship Management Sales Force,” https://www.salesforce.com/, 2022.
[Online]. Available: https://www.salesforce.com/ap/crm/. [Accessed: 16-Apr-2023].
[3] ZOHO Customer Relationship Management, Customer Support and Product Management
In Sales and Marketing, 18-Apr-2021. [Online]. Available:
https://zoho.com/aboutus.html?ireft=nhome&src=home1-dd /. [Accessed: 17-Apr-2023]
31
APPENDICES
32
33
34