Customer Relationship Management System In Java Using JSP And Servlet With Source Code

Customer Relationship Management (CRM) System Project in Java is a web-based application developed using Java, JSP, Servlet, and MySQL. The main purpose of this project is to help businesses manage customer information, complaints, inquiries, products, and customer support records digitally.

This project is suitable for final-year IT, BCA, MCA, and computer science students and can be used as a Java minor or major project.

The application has three main roles:

  • Admin
  • Employee
  • User

Admin has the main control over the system. Employees can manage customer complaints and provide resolutions, while users can view products, raise complaints, and submit product or service-related inquiries.

The project follows the MVC (Model View Controller) architecture and uses JDBC to connect the application with the MySQL database.

Customer Relationship Management System – Overview

A CRM system helps a business maintain customer information and records of interactions with customers in one place.

Instead of maintaining customer details, complaints, inquiries, and resolutions manually, this application provides a digital platform for managing these records.

The Customer Relationship Management System can maintain information related to:

  • Customers
  • Employees
  • Products
  • Product categories
  • Complaints
  • Inquiries
  • Resolutions
  • FAQs
  • Company news

Admin manages the overall application. Employees can view customer complaints and inquiries and provide resolutions. Users can search for product information, view FAQs, and contact the business regarding products or services.

Objective of CRM System

The main objectives of this project are:

  • Manage customer information digitally.
  • Maintain customer interaction records.
  • Manage products and product categories.
  • Allow users to raise complaints.
  • Allow users to submit product and service inquiries.
  • Allow employees to handle customer complaints.
  • Maintain complaint resolution records.
  • Manage employee information.
  • Provide FAQs and company information.
  • Reduce manual customer record management.
  • Store customer-related information in a MySQL database.

Modules of Customer Relationship Management System

1. Admin Module

The Admin Module provides the main management features of the application.

Admin can:

  • Login and logout.
  • Manage products.
  • Manage product categories.
  • Manage employees.
  • Manage registered users.
  • Manage complaints.
  • Manage inquiries.
  • Track complaint resolutions.
  • Manage FAQs.
  • Manage company information.
  • View and manage customer records.
  • Manage admin profile.
  • Change password.

2. Employee Module

Employees are responsible for handling customer complaints and inquiries.

Employees can:

  • Login using their employee credentials.
  • View product information.
  • View customer complaints.
  • View new inquiries.
  • Provide resolutions to customer complaints.
  • Maintain customer-related information.
  • Manage their profile.
  • Change password.

When an employee provides a resolution to a complaint, the information can be stored in the system for future reference.

3. User Module

Users can interact with the business through the CRM portal.

Users can:

  • Register and login.
  • View product categories.
  • Search and view product details.
  • Read FAQs.
  • View company news or information.
  • Raise complaints.
  • Submit product-related inquiries.
  • Submit service-related inquiries.
  • View complaint or resolution information where supported.
  • Manage their profile.
  • Change password.

4. Product Management Module

Admin can manage the products available in the system.

Admin can:

  • Add products.
  • View products.
  • Edit product information.
  • Delete products.
  • Organize products into categories.

Users and employees can view the available product information according to their access.

5. Product Category Module

Products can be organized into different categories.

Admin can:

  • Add categories.
  • View categories.
  • Edit categories.
  • Delete categories.

This makes it easier for users to find the required products.

6. Complaint Management Module

Users can raise complaints related to products or services.

The complaint module allows the system to maintain:

  • Customer details
  • Complaint details
  • Complaint date
  • Complaint status
  • Resolution information

Employees can view complaints and provide appropriate resolutions.

7. Inquiry Module

Users can submit inquiries related to products and services.

Employees can view new inquiries and provide the required information or assistance.

8. Resolution Module

Employees can provide resolutions for customer complaints.

The resolution information can be stored in the system so that the customer support history can be referred to later.

This can help employees understand previous interactions without requiring the customer to provide the same information repeatedly.

9. FAQ Module

Admin can manage frequently asked questions related to products and services.

Users can view FAQs to get answers to common questions.

10. Profile Management Module

Admin, employees, and users can manage their profiles according to their access permissions.

Users can update available profile information and change their passwords.

CRUD Operations

The CRM project demonstrates CRUD operations for managing different records.

  • Create – Add products, categories, employees, users, complaints, and inquiries.
  • Read – View stored records and customer information.
  • Update – Edit records and update complaint or resolution information.
  • Delete – Remove records when required.

CRUD operations are an important part of database-driven Java web applications.

User Roles

The application has three main user roles.

Admin

Admin has the main control over the system.

Admin can:

  • Login and logout.
  • Manage products and product categories.
  • Manage employees.
  • Manage users.
  • Manage complaints and inquiries.
  • Track complaint resolutions.
  • Manage FAQs.
  • Manage the overall system.
  • Manage profile.
  • Change password.

User

Users can use the system to view product information and communicate with the business.

Users can:

  • Register and login.
  • Search products.
  • View product details.
  • View product categories.
  • Read FAQs.
  • Raise complaints.
  • Submit product and service inquiries.
  • Manage their profile.
  • Change password.

Employee

Employees handle customer complaints and inquiries.

Employees can:

  • Login and logout.
  • View customer complaints.
  • View new inquiries.
  • Provide complaint resolutions.
  • Maintain customer-related information.
  • Manage their profile.
  • Change password.

How CRM System Works

The basic workflow of the application is:

  1. User registers on the CRM portal.
  2. User logs in to the application.
  3. User views product categories and product information.
  4. User can submit a complaint or inquiry.
  5. The complaint or inquiry is stored in the database.
  6. Employee logs in and views customer complaints or inquiries.
  7. Employee provides a resolution or response.
  8. The resolution is stored for future reference.
  9. Admin can manage users, employees, products, categories, FAQs, complaints, and inquiries.
  10. Customer interaction records can be maintained digitally.

MVC Architecture

The Customer Relationship Management System follows the MVC architecture.

Model

The Model handles:

  • Business logic
  • Database operations
  • Customer information
  • Employee information
  • Product information
  • Complaint records
  • Inquiry records
  • Resolution information

View

The View is created using:

  • JSP
  • HTML
  • CSS
  • Bootstrap
  • JavaScript

Controller

The Controller is implemented using Servlets.

Servlets handle requests from Admin, Employees, and Users and communicate with the Model to perform the required operations.

Technology Used

The project is developed using the following technologies:

  • Java – Main programming language.
  • JSP – Used to create dynamic web pages.
  • HTML – Used for page structure.
  • CSS – Used for styling.
  • JavaScript – Used for client-side functionality and validation.
  • Bootstrap – Used to create a responsive interface.
  • Servlet – Handles server-side requests.
  • JDBC – Connects Java with MySQL.
  • MySQL – Stores customer, employee, product, complaint, and inquiry data.
  • MVC Architecture – Used to organize the application.
  • Apache Tomcat 8.5 – Used to deploy and run the project.
  • Eclipse IDE – Can be used for development.
  • Maven – Can be used to manage project dependencies.

Project Demo

Watch the project demo to understand the interface and basic working of the Customer Relationship Management System.

Flow Diagrams of CRM System

The following DFDs can help students understand the data flow and overall structure of the Customer Relationship Management System.

Level 0 DFD

Level 0 DFD - Customer Relationship Management System

Level 1 DFD

Level 1 DFD - CRM

Level 2 DFD

Level 2 DFD - CRM System

Level 2 DFD – CRM Project

Level 2 DFD - CRM System Project

Additional Level 2 DFD

Level 2 DFD - CRM System

Free Source Code

The complete Customer Relationship Management System source code is available on GitHub.

Download Free Source Code

Customer Relationship Management System in Java – Free GitHub Source Code

Students can download the source code and configure it on their local system for learning and college project purposes.

Java Web Project Configuration Tutorial

Before running the project, you need to configure the Java web application with Java, MySQL, Apache Tomcat, and the required project dependencies.

Follow the step-by-step guide:

Java Web Project Configuration Tutorial

Java Project Viva Questions

If you are preparing this project for a college viva, you can also check common Java project viva questions and answers.

Java Project Viva Questions and Answers

More Java Projects with Source Code

Looking for more Java minor and major projects?

Check More Java Projects with Source Code

Conclusion

The Customer Relationship Management System Project in Java Using JSP, Servlet and MySQL is a useful Java web application for managing customer information, products, complaints, inquiries, employees, and resolutions.

The project covers important concepts such as JSP, Servlet, JDBC, MySQL, MVC architecture, CRUD operations, customer management, product management, complaint management, and inquiry management.

It is suitable for final-year IT, BCA, MCA, and computer science students who want practical experience in developing a database-driven Java web application.