0% found this document useful (0 votes)
60 views43 pages

Chemistry Project

The document describes a certificate for a student project on an ISP Customer and Feedback Management System, noting that it certifies the project as the student's original work under supervision for a Computer Science class. It provides the student and project names, class details, and signatures of internal and external examiners approving the project.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
60 views43 pages

Chemistry Project

The document describes a certificate for a student project on an ISP Customer and Feedback Management System, noting that it certifies the project as the student's original work under supervision for a Computer Science class. It provides the student and project names, class details, and signatures of internal and external examiners approving the project.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 43

School

Logo
Name of School: ____________________
School Address: _____________________
_____________________
______________________

Academic Session: 2022-23


Roll No. : ________________

Name of Pupil : ___________________________

Class : XII

Subject : Computer Science

Subject Code : 083

Project Guide : ___________________________


CERTIFICATE

This is to certify that this project titled ISP


Customer and Feedback Management System is a
bonafide work of Master {Name of Student} of class
XII-{Section}, submitted to {Name of School}, for
consideration in the partial accomplishment of Senior
School Certificate Examination in Computer
Science(083) subject.

This original work was carried out by him under


my supervision in the academic year 2022-23. On the
basis of declaration made by him I recommend the
project for evaluation.

_____________ ______________
INTERNAL EXAMINER EXTERNAL EXAMINER

_____________ _____________
SCHOOL STAMP PRINCIPAL
ACKNOWLEDGEMENT

I wish to express my deep gratitude and


sincere thanks to the Principal, {Name of Principal}
and Vice Principal, {Name of Vice Principal} for his
encouragement and for the facilities that they have
provided for this project work.

I extend my heartly thanks to {Name of


Subject Teacher}, PGT Computer Science who guided
us to the successful completion of this project. I take this
opportunity to express my deep sense of gratitude for
their invaluable guidance and immense motivation which
has sustained my efforts at all stages of this project
work.

I cannot forget to offer my sincere thanks to my


fellow classmates who helped me carry out this

project work successfully and for their valuable


advice and support.

Name of Student
TABLE OF CONTENTS
S.No Description Page No.
1. Preface 1
2. Introduction to Project 2
3. The objective of the project 3
4. Scope of the Project 4
5. The Existing System 5
6. Proposed System 6
7. Input/Output Requirement 7
8. Hardware and Software Requirements 8
9. Flow Chart 9
10. Source Code 10
11. System Design 27
12. Database Dictionary 35
13. Security Control 37
14. Conclusion 38
15. Reference or Bibliography 39
Preface
One of my friend’s father is a manager of a firm which is providing an

internet service to the customer. I have visited their office previous week.

I saw they are managing work manually. Customers are waiting until the

entries done in the system. To start a new connection, it is taking 1 or more

days as after making entries their services supposed to start.

Similarly, many calls are coming for maintenance and complaints about

their internet services. Due to manual system, they are not able to track

the executive as well as it is tedious job to maintain the maintenance calls

manually.

This motivates us to make a software for them. So, I have collected the

required information and started working on it.

Aim: Developing a software for customer, maintenance calls and feedback

management

Title: ISP Customer and Feedback Management System

Problem Definition: Develop a software named ISP Customer and

Feedback Management System to manage new internet

connections and customer portfolios, maintenance calls and feedback

provided by customers.
Introduction to Project

This programme helps a firm named Mohit communications and

networking firm which provides an internet service.

This project has 4 main modules presented by menus. These modules are:

1. Login (User Management)

2. Connection (Customer Management)

3. Maintenance (Customer’s Query Management)

4. Feedback Management

This program starts with a login which requires an admin user and

password. The admin user is super and powerful user managed by the

system admin (us). Users can only manage the options provided to them

in the program.

The login username and password for admin is provided to the manager of

firm. This information is stored in MySQL table users in ISP database. By

this unauthorised user can’t login into the system.

After login a Welcome message will come with firm name and date along

with press enter to continue. When user press continue it will show the

main menu. Which allows to Create a new connection with customer’s

details, maintenance calls and feedback followed by their management.


The objective of the project

The objective of this project is to learn and apply the programming

knowledge into a real- world problem and exposed how programming skills

helps in developing a good software.

1. Write programs utilizing modern software tools.

2. Apply python programming principles effectively when developing

small to medium sized software.

3. Write effective procedural code to solve small to medium sized

problems.

4. Demonstrating a breadth of knowledge in computer science, as

exemplified in the areas of systems, theory and software

development.

5. Ability to conduct research or applied Computer Science project,

requiring writing and presentation skills which exemplify scholarly

style in computer science.

6. Students also will be able to learn and apply MySQL database and

how the front-end as well as back-end helps in software

development.

7. Python interface with MySQL helps to save the data generated by the

software.

8. This project also helps to research on the various aspects of a

business and customer management.


Scope of the project

In future we are planning to bring more advancement in this software

such as:

1. This project is useful for any firm that provides internet services or other

services to manage their customers and connections as well as

maintenance details and feedback management to improve the system.

2. In future we are planning to make this software available for more users

to manage various kinds of services and their customers data.

3. We are also planning to integrate this project with android, iOS and

other platforms so it can be available for the employees of firm to

manage it from their place and mobiles.

4. We are also going to add more modules and assign a manager for

different kind of categories of customer.

5. We will integrate GPS tracking to track the executive’s current location

and notify the customer when he generates a ticket for maintenance

call or any inquiry.


The Existing System

The existing system is manual. All the records and details are manually

recorded on registers and documents are stored in the files in the form

of hard copies.

Customer is visiting the office and the office executive is giving them a

form to register. Later on, the office executive makes this entry either

in register or MS Excel manually.

The existing system takes more time and very tedious job for an office

executive as that person is mostly gets engaged in the making data

entries.

This process is applied for all kinds of modules whether it is new

connection or maintenance call or feedback. It is getting more time to

search a record manually from the register or taking print out from excel

worksheet.
The proposed system

The proposed system will overcome with the limitations of existing

system. Firstly, there is no need to give any form or any other document

to customer. It can be easily managed on call as well.

Customer can make a call and provide the information online on email

or WhatsApp message. This information can be added by office

executives in the proposed system. It will save time and efforts of both

the customer and office executive.

The proposed system also helps in tracking the connection request,

maintenance call easily. When the work is done it will change the status

of maintenance call. Proposed system also helps in managing the

feedbacks and decision making.


Input/Output Requirements

Data for any system is like food for us. Data needs to be fed by user in

the system to work with a specific software. After processing the data

final result will be printed as output.

So as per this project is concern the input enter by user is as follows:

1. Login: For login system admin (we) have provided built in module

where username and password are provided to them and they can

login with the username and password. They cannot change or create

any user as they have to contact us for any user related queries.

2. New Connection: For a new connection customer data is required.

This data includes unique customer id, customer name, phone

number , year of starting internet service, address of customer.

3. Maintenance Call: For maintenance calls the maintenance ID is

generated by system automatically. Apart from this maintenance call

includes problem description, basic charges, status of call either

Open or Close, priority of call like urgent, normal etc.

4. Feedback: For feedback the program will prompt customer id and

feedback text.
Hardware and Software Requirements

 Hardware Requirements

Processor : Intel Core i3 or higher

Hard Disk (Space) : 100 MB (Minimum)

1 GB (Recommended)

Ram : 1 GB

Keyboard : Any keyboard (QWERTY)

Mouse : Any standard mouse

Monitor : Any monitor with standard resolution

 Software Requirements

Operating System : Windows 7 or higher (64-Bit)

Platform : Python 3.9

Database : MySQL SERVER 8.0 or higher

Languages : Python

Text Editor : Notepad


Flow Chart

Create Connection

Create maintenance
Call

New
View
Feedback/Suggestion

Customer
Modify
Management

Close Account
Login

View All requests

Maintenance
Close request
Management

Delete request

View

View
Feedback/Suggestion

Delete Feedback
Source Code

Source code for our project is as follows:

import mysql.connector as ms

m_id=0

def login():

cn=ms.connect(host="localhost",user="root",passwd="root",database

="ISP")

cur=cn.cursor()

un=input("Enter user name:")

pwd=input("Enter Password:")

s="select * from users"

cur.execute(s)

dt=cur.fetchall()

dt=list(dt)

if dt[0][0]==un and dt[0][1]==pwd:

print("Hello",un)

input("Press enter to continue...")

customer_menu()
else:

print("Something went wrong! Contact administrator!")

cn.close()

def customer_menu():

from time import gmtime,strftime

print("Welcome to Mohit Communications and Networking")

print("\t\t\t",strftime("%a,%d\%m\%Y",gmtime()),"\n")

input("Press enter to continue...")

print("1.Create a new connection")

print("2.Create a new maintenance Call")

print("3.New Feed Back/Suggestion")

print("4.Customer Management")

print("5.Maintenance Management")

print("6.View Feedback/Suggestion")

print("7.Exit")

choice=int(input("Enter your choice:"))

if choice==1:
cn=ms.connect(host="localhost",user="root",passwd="root",database

="ISP")

cur=cn.cursor()

c_id=int(input("Enter new customer ID:"))

c_name=input("Enter customer name:")

phno=input("Enter contact no.::")

year=int(input("Enter year:"))

address=input("Enter address:")

ins="insert into customer_profile

values({},'{}','{}',{},'{}')".format(c_id,c_name,phno,year,address)

cur.execute(ins)

print("Thank you Dear",c_name)

print("New connection created, Customer added.")

cn.commit()

cn.close()

customer_menu()

elif choice==2:

global m_id

connection = ms.connect(host='localhost',
database='isp',

user='root',

password='root')

sql_select_Query = "select * from customer_profile"

cr = connection.cursor()

cr.execute(sql_select_Query)

records = cr.fetchall()

c_id=int(input("Enter id:"))

flg=0

connection.close()

for i in records:

if i[0]==c_id:

print("Customer details found...")

print("Customer Name:",i[1])

print("Phone No.:",i[2])

print("Year of Start of Service:",i[3])

print("Address:",i[4])

m_id=int(input("Enter M_ID"))

pr=input("Define problem:")
charges=float(input("Enter charges:"))

sta=input("Open or Close:")

pri=input("Priority of Problem:")

ins="insert into maintenance

values({},'{}','{}',{},'{}','{}',{})".format(m_id,i[1],pr,charges,sta,pr

i,c_id)

cr.execute(ins)

print("Call is created. Thank you!",i[1])

connection.commit()

customer_menu()

flg=1

if flg==0:

print("Customer not found ... ")

customer_menu()

elif choice==3:

cn3=ms.connect(host="localhost",user="root",passwd="root",databas

e="ISP")

cur3=cn3.cursor()
cur3.execute("select cust_id,cust_name from

customer_profile")

dt3=cur3.fetchall()

c_id=int(input("Enter Customer ID:"))

flg=0

for i in dt3:

if i[0]==c_id:

print("Customer details found...")

print("Customer ID:",i[0])

print("Customer Name:",i[1])

f_id=int(input("Enter Feedback ID:"))

fb=input("Enter Feedback:")

ins="insert into suggestion

values({},'{}','{}',{})".format(f_id,i[1],fb,c_id)

cur3.execute(ins)

print("Feedback is accepted. Thank you!",i[1])

cn3.commit()

customer_menu()

flg=1
if flg==0:

print("Customer not found ... ")

customer_menu()

cn3.close()

elif choice==4:

print("Customer Management")

print('''

1. View all Customer Details

2. Modify customer details

3. Close Account

4. Exit

''')

ch=int(input("Enter your choice:"))

if ch==1:

cn=ms.connect(host='localhost',user='root',passwd='root',database='i

sp')

cur=cn.cursor()

sql_1="select * from customer_profile"


cur.execute(sql_1)

a=cur.fetchall()

c=0

for i in a:

c+=1

print("Row-",c,":",i)

customer_menu()

elif ch==2:

cn=ms.connect(host="localhost",user="root",passwd="root",database

="ISP")

cur=cn.cursor()

c_id=int(input("Enter customer id to modify:"))

cur.execute("select * from customer_profile where

cust_id={}".format(c_id))

dt=cur.fetchall()

cname=dt[0][1]

ph=dt[0][2]

add=dt[0][4]

rc=cur.rowcount
if rc>0:

c_n=input("Do you want to change name?(y/n):")

if c_n.lower()=='y':

cu_name=input("Enter new name:")

c_name=cu_name

else:

c_name=cname

p=input("Do you want to change phone number?(y/n):")

if p.lower()=='y':

pho=input("Enter new phone no.:")

p_no=pho

else:

p_no=ph

ad=input("Do you want to change address?(y/n):")

if ad.lower()=='y':

a=input("Enter New Address:")

ad=a

else:

ad=add
u="update customer_profile set

cust_name='{}',phoneno='{}',address='{}' where

cust_id={}".format(c_name,p_no,ad,c_id)

cur.execute(u)

print("Record Modified ... ")

cn.commit()

customer_menu()

else:

print("Record not found .. ")

customer_menu()

elif ch==3:

cn=ms.connect(host="localhost",user="root",passwd="root",database

="ISP")

cur=cn.cursor()

c_id=int(input("Enter customer id to close account:"))

cur.execute("select * from customer_profile where

cust_id={}".format(c_id))

dt=cur.fetchall()

rc=cur.rowcount
if rc>0:

q="delete from customer_profile where

cust_id={}".format(c_id)

cur.execute(q)

cn.commit()

print("Account Closed Successfully.")

customer_menu()

else:

print("Record not found...")

customer_menu()

elif ch==4:

customer_menu()

elif choice==5:

cn=ms.connect(host="localhost",user="root",passwd="root",database

="ISP")

cur=cn.cursor()

print('''

1. View All Requests


2. Close Request

3. Delete Request

4. Exit

''')

ch5=int(input("Enter your choice:"))

if ch5==1:

s="select * from maintenance"

cur.execute(s)

a=cur.fetchall()

for i in a:

print(i)

input("Press enter to continue...")

customer_menu()

elif ch5==2:

m=input("Enter ID to close the request:")

cur.execute("select * from maintenance where

mid='{}'".format(m))

dt=cur.fetchall()

rc=cur.rowcount
if rc>0:

cr=input("Do you want to update the charges

amount?(y/n)")

if cr.lower()=='y':

nc=float(input("Enter new charges:"))

cur.execute("update maintenance set

charges={},status='closed' where mid='{}'".format(nc,m))

cn.commit()

print("Request Closed, Customer has to pay

charges...")

customer_menu()

else:

cur.execute("update maintenance set status='closed'

where mid='{}'".format(m))

cn.commit()

customer_menu()

else:

print("Sorry! No maintence request found...")

customer_menu()

elif ch5==3:
m=input("Enter ID to delete the request:")

cur.execute("select * from maintenance where

mid='{}'".format(m))

dt=cur.fetchall()

rc=cur.rowcount

if rc>0:

cur.execute("delete from maintenance where

mid='{}'".format(m))

cn.commit()

print("Maintenance request deleted...")

customer_menu()

else:

print("Record not found...")

cusotmer_menu()

else:

print("Invalid choice:")

customer_menu()

elif choice==6:
cn=ms.connect(host="localhost",user="root",passwd="root",database

="ISP")

cur=cn.cursor()

print('''

1. View Feedback

2. Delete Feedback

3. Back

''')

ch6=int(input("Enter your choice:"))

if ch6==1:

cur.execute("select * from suggestion")

dt=cur.fetchall()

for i in dt:

print(i)

input("Press enter key to continue...")

customer_menu()

elif ch6==2:
fcn=ms.connect(host='localhost',user='root',passwd='root',database=

'isp')

crf=fcn.cursor()

f=int(input("Enter feedback id to delete feedback:"))

crf.execute("select * from suggestion where

f_id={}".format(f))

dt=crf.fetchall()

rc=crf.rowcount

if rc>0:

for i in dt:

if i[0]==f:

crf.execute("delete from suggestion where

f_id={}".format(f))

fcn.commit()

print("Feedback Deleted.")

customer_menu()

else:

print("No records...")

customer_menu()
fcn.close()

elif ch6==3:

customer_menu()

elif choice==7:

quit()

def main_menu():

while True:

print('''

1. Login

2. Exit ''')

ch1=int(input('Enter your choice:'))

if ch1==1:

login()

elif ch1==2:

break

else:

print("Invalid Choice")

main_menu()
System Design

System design refers to the interface of a software which satisfies the

need for the end-user requirements. System design should be

interactive and presentable. All the options required for the processing

should be present in system way. Here our system design for this

project is as follows:

Login
Incorrect Info

Welcome Screen

Main Menu
Create a new connection

Create a new maintenance Call


New Feedback/Suggestion

Customer Management Menu


View all Customer Details

Modify Customer Details


Close Account

Maintenance Management Menu


View All Requests

Close Request
Delete Request

View Feedback / Suggestion

Delete Feedback / Suggestion


Database Dictionary

Database dictionary plays an important role in project. It saves the

output generated by python program. We have used MySQL in the

back end to store data. We have used following tables to manage this

project data efficiently.

Just have a look at these tables:

i) Users: Users table consists of data regarding users login

information such as username and password.

The structure of users table is as follows:

ii) customer_profile: This table store data for customers. When new

connection is created the record is going to be added. When

account is closed records are deleted from this table. The structure

of this table is as follows:


iii) maintenance: This table hold records related to maintenance

calls. When any call is received regarding maintenance or any

dispute raised by customer is recorded into this table. This table

has following structure:

iv) suggestion: This table contains records accepted by user given as

feedback or suggestion. When customer is registering for a new

account or his maintenance call is closed, feedback is invited for

the services and their experience with the services. The structure

of suggestion table is as follows:


Security Control
Data security and security control is also one of the most important

aspects of any computerised system. As customer is giving their

personal information, security matters a lot. Customer data stored in

the application requires security. There should be any loop hole or any

unauthorised person can use data. So, we have created admin user and

password. Although the user has entered the password very carefully

as it is visible on screen while using this program. This project is

prepared only for single user.

We are not accepting any credit card or debit card data or any other

related sensitive information. No pin number or passwords asked to the

customer directly or indirectly for this system.

We have provided only one administrator account with this project.

Later, we will provide multi users to operate data as data filled with

software. More user specific profile will be also updated in the future.

For more security we will ensure the password also should not visible

for anyone while entering the password. We have not provided any

direct database access to the users.


Conclusion

Making project like this is a great journey of learning. We learn so

many things while developing this project. As we have started, we

learnt how organization functions and collect data, How the services

business is functioning and maintaining the customer profiles, and

their services.

With reference to technical knowledge, it was also a great experience

with learning as well, whether it is python or MySQL or putting logics

into code.

This is not the end but we have started a journey with this project and

hope many more to come in future. In addition to this, constant update

for this project will be provided as pe the requirements of the firm.


Bibliography

 Computer Science with Python Textbook for Class XII By Sumita

Arora

 Computer Science Text Book for Class XII By NCERT

 www.tutorialaicsip.com

 www.youtube.com

 www.geekforgeeks.com

 www.stackoverflow.com

 www.tutorialpoints.com

You might also like