Cs Proj
Cs Proj
: 6835
Name: Sai Keerthana Vidhya Sanjeevi
Class & Sec: XII ‐ D
Subject: Computer Science
Subject Code: 083
Project Guide:
1 | P a g e ‐ SKVS
2 | P a g e ‐ SKVS
TABLE OF CONTENTS (TOC)
SL. DESCRIPTION Page No.
No.
1 ACKNOWLEDGMENT 4
2 GLIMPSE OF PYTHON 5
4 PROPOSED SYSTEM 7
6 PROBLEM ANALYSIS 13
7 FLOW CHART 15
8 SOURCE CODE 16
9 OUTPUT 24
12 CONCLUSION 30
13 BIBLIOGRAPHY 31
4 | P a g e ‐ SKVS
GLIMPSE OF PYTHON
Python is an interpreted, high-level and general-purpose programming language used worldwide. It supports
multiple programming paradigms, including structured (particularly, procedural), object-oriented and functional
programming. Rather than having all of its functionality built into its core, Python was designed to be
highly extensible. This compact modularity has made it particularly popular as a means of adding programmable
interfaces to existing applications. Python is meant to be an easily readable language. Its formatting is visually
uncluttered, and it often uses English keywords where other languages use punctuation. Unlike many other
languages, it does not use curly brackets to delimit blocks, and semicolons after statements are optional. It has
fewer syntactic exceptions
MYSQL, a Relational Database Management System (RDBMS), helps maintaining records in the form of a table which
is easy to handle and prevents data redundancy. Many companies use RDBMS to handle their data. Python provides
a platform to link MYSQL and create a Python-MYSQL Interface to manage record in the table through Python
programming language.
5 | P a g e ‐ SKVS
INTRODUCTION OF THE PROJECT
This project is aimed in creating a software for the Public Works Department (PWD) to enhance the procedure
of filing complaints and raising any issues of concern.
The features of this project includes creating a record of your complaint by registering with all bio data, checking
the status of completion of complaint raised, live chatting with authorised person, to update the features of
complaint and to withdraw complaint.
This project, “PUBLIC GRIEVANCES REPORT”, is a medium to file complaints through digital media.
6 | P a g e ‐ SKVS
PROPOSED SYSTEM
In today’s world, after all that fight for independence, this right for us has what brought upliftments in our homes,
the society, and the country, i.e. “The Right to Express Public Grievances”. Expressing our thoughts, ideas,
opinions and difficulties all together determines our fraternity in this country.
All might not face the same issues in everyday life, but even a small discomfort to a person can affect the locality
or society as a whole. This brings in the need of a “Public Grievances Committee”, to resolve any issues of
concern. Every institution, MNCs’ and even governing bodies have compulsorily created a committee for the
students or the staffs to express their feelings and thoughts about their working environment and fellow co-
workers.
When this as a whole is applied to the society, the committee is not just of few people but a big network. Issues
like bad maintenance of roads, stinky garbage and drainage, open potholes on platform and so on are not just
of individual concern but also of the common people living in the locality.
India is taking its new form of digitalization, where from buying food to getting our daily pills we depend on
technology than manpower. Hence it’s difficult to file complaints to the grievances committee by hand and
maintain a long lasting record of them. This certainly requires a lot of manpower and paper which makes it
seemingly impossible!
This project is aimed in improving the efficiency of the Public Grievances Committee by making it digitalized.
Using computers to file complaints and check status does reduce the time consumed by many people working
behind and complainants like us. This can make it more error free and easy to access just be staying at your
place.
7 | P a g e ‐ SKVS
SYSTEM DEVELOPMENT LIFE CYCLE (SDLC)
Software Development Life Cycle (SDLC) aims to produce a high-quality system that meets or exceeds customer
expectations, works effectively and efficiently in the current and planned information technology infrastructure, and is
inexpensive to maintain and cost-effective to enhance. A process followed in software projects is SDLC. Each phase
of SDLC produces deliverables required by the next phase in the life cycle. Requirements are translated into design.
Code is produced according to the design. Testing should be done on a developed product based on the requirement.
The deployment should be done once the testing was completed. It aims to produce a high-quality system that meets
or exceeds customer expectations, works effectively and efficiently in the current and planned information technology
infrastructure, and is inexpensive to maintain and cost-effective to enhance.
Why SDLC?
Some of the reasons why SDLC is important in Software Development are as follows.
It provides visibility of a project plan to all the involved stakeholders
It helps us to avoid project risks
It allows us to track and control the project
It doesn’t conclude until all the requirements have been achieved
Requirement Phase
Requirement gathering and analysis is the most important phase in the software development lifecycle.
Requirement phase is the first step of the SDLC. Business Analyst collects the requirement from the
Customer/Client as per the clients business needs and documents the requirements in the Business
Requirement Specification (document name varies depends upon the Organization. Some examples are
Customer Requirement Specification (CRS), Business Specification (BS), etc., and provides the same to
Development Team.
8 | P a g e ‐ SKVS
Analysis Phase
Once the requirement gathering and analysis is done the next step is to define and document the product
requirements and get them approved by the customer. This is done through the SRS (Software Requirement
Specification) document. SRS consists of all the product requirements to be designed and developed during
the project life cycle. Key people involved in this phase are Project Manager, Business Analyst and senior
members of the Team. The outcome of this phase is the Software Requirement Specification.
Design Phase
It has two steps:
HLD – High-Level Design – It gives the architecture of the software product to be developed and is done by
architects and senior developers
LLD – Low-Level Design – It is done by senior developers. It describes how each and every feature in the
product should work and how every component should work. Here, only the design will be there and not the
code
The outcome from this phase is High-Level Document and Low-Level Document which works as an input to
the next phase
Development Phase
Developers of all levels (seniors, juniors, freshers) involved in this phase. This is the phase where we start
building the software and start writing the code for the product. The outcome from this phase is Source Code
Document (SCD) and the developed product.
9 | P a g e ‐ SKVS
Testing Phase
When the software is ready, it is sent to the testing department where Test team tests it thoroughly for different
defects. They either test the software manually or using automated testing tools depends on the process
defined in STLC (Software Testing Life Cycle) and ensure that each and every component of the software
works fine. Once the QA makes sure that the software is error-free, it goes to the next stage, which is
Implementation. The outcome of this phase is the Quality Product and the Testing Artifacts.
10 | P a g e ‐ SKVS
Incremental Model in SDLC
The incremental model is not a separate model. It is essentially a series of waterfall cycles. The requirements
are divided into groups at the start of the project. For each group, the SDLC model is followed to develop
software. The SDLC process is repeated, with each release adding more functionality until all requirements
are met. In this method, every cycle act as the maintenance phase for the previous software release.
Modification to the incremental model allows development cycles to overlap. After that subsequent cycle may
begin before the previous cycle is complete.
V-Model in SDLC
In this type of SDLC model testing and the development, the phase is planned in parallel. So, there are
verification phases of sdlc on the side and the validation phase on the other side.
V-Model joins by Coding phase.
Spiral Model
The spiral model is a risk-driven process model. This SDLC model helps the team to adopt elements of one
or more process models like a waterfall, incremental, waterfall, etc.
This model adopts the best features of the prototyping model and the waterfall model. The spiral methodology
is a combination of rapid prototyping and concurrency in design and development activities.
11 | P a g e ‐ SKVS
Big bang model
Big bang model is focusing on all types of resources in software development and coding, with no or very little
planning. The requirements are understood and implemented when they come.
This model works best for small projects with smaller size development team which are working together. It is
also useful for academic software development projects. It is an ideal model where requirements is either
unknown or final release date is not given.
12 | P a g e ‐ SKVS
PROBLEM ANALYSIS
This program contains the following modes:
COMPLAINANT MODE
AUTHORISED USER MODE (GOVT. OFFICIAL)
The respective number must be typed out to enter into any one.
COMPLAINANT MODE
In the complainant mode, the complainant gets a chance to register his complaint and do the following in his complaint:
Registration: Includes fields of – Name, Phone number, Area, District, Pin code, Complaint, Mail address.
Uses the function: registration()
Updation: Gets the input field from complainant and makes changes based on the field with input reference
phone number.
Uses the function: updation()
Live Chatting: Enables the complainant to engage into a short conversation with the official of the committee to
escalate complaints faster or re‐escalate complaints.
Uses the function: livechat()
Status Checking: This feature allows the complainant to check the progress in his complaint after certain period
of time since the placement of complaint.
Uses the function: statuscheck()
In this mode, an authorized member or user of the committee can check the complaints registered in the database,
collect them and escalate or distribute the complaints to respective technical teams.
13 | P a g e ‐ SKVS
14 | P a g e ‐ SKVS
FLOW CHART
START PYTHON
CHOICES OF PROGRAMMES
GIVEN TO USER:
CREATING ONE OR
MORE RECORDS
UPDATION OF
VIEWING THE DATABASE TO INSERTED RECORD
FORWARD INFORMATION TO THE CHECKING THE
RESPONSIBLE TEAM STATUS OF
COMPLAINT
LIVE CHATTING WITH
AUTHORISED
PERSON
WITHDRAWING
REGISTERED
COMPLAINT
EXITING THE
PROGRAMME
15 | P a g e ‐ SKVS
SOURCE CODE
# MANAGING RECORDS OF PUBLIC REQUIREMENTS AND GRIEVANCES IN THE FORM OF RELATION FOR EASY ACCESS
USING PYTHON AND MYSQL INTERFACE
import random
import mysql.connector as mys
mycon=mys.connect(host="localhost",user="root",password="SKVS",database="URBANSECTORPWD")
mycursor=mycon.cursor()
def registration():
name=input('NAME:')
pno=int(input('PHONE NUMBER:'))
area=input('AREA:')
district=input('DISTRICT:')
pin=int(input('PINCODE:'))
com=input('COMPLAINT:')
mail=input('MAIL ADDRESS:')
print()
mycursor.execute("Insert into PWDCOMPLAINTS values('{0}',{1},'{2}','{3}',{4},'{5}','{6}');"
.format(name,pno,area,district,pin,com,mail))
mycon.commit()
mycursor.execute("Select * from PWDCOMPLAINTS where PHONENO={}".format(pno))
d=mycursor.fetchall()
for i in d:
print(i[0],int(i[1]),i[2],i[3],int(i[4]),i[5],i[6],sep=' : ')
print()
print(' Your request has been processed.
16 | P a g e ‐ SKVS
We kindly request you to please wait upto 1 month since the registration.')
print(' For further queries please contact: 044 1357 8642')
print(' or mail : pwdchennai@hotmail.com')
print(' Stay Safe.')
print()
def updation():
ref=int(input('Please enter registered mobile number:'))
field=input('Please enter the field of change(IN CAPS ONLY):')
if field in ('PHONENUMBER','PINCODE'):
new=int(input('Enter the updated detail:'))
query="Update PWDCOMPLAINTS set {}={} where PHONENO={};".format(field,new,ref)
mycursor.execute(query)
mycon.commit()
print(' Record Updated.')
print()
mycursor.execute("Select * from PWDCOMPLAINTS")
d=mycursor.fetchall()
for i in d:
print(i[0],int(i[1]),i[2],i[3],int(i[4]),i[5],i[6],sep=' : ')
print()
17 | P a g e ‐ SKVS
else:
new=input('Enter the updated detail:')
query="Update PWDCOMPLAINTS set {}='{}' where PHONENO={};".format(field,new,ref)
mycursor.execute(query)
mycon.commit()
print(' Record Updated.')
print()
mycursor.execute("Select * from PWDCOMPLAINTS")
d=mycursor.fetchall()
for i in d:
print(i[0],int(i[1]),i[2],i[3],int(i[4]),i[5],i[6],sep=' : ')
print()
def livechat():
print('Hello dear Customer. How may I help you?')
ans1=input('Please let me know your issue:')
ans2=input('Please tell me since when this issue has been?')
print('This shall be surely resolved. Please give us some time to process your complaint.')
print('We will be back after raising the issue to the higher officials.
We sincerely apologise for the inconvenience caused.')
print('Thank you for live chatting with URBANSECTORPWD ‐ CHENNAI.')
print()
18 | P a g e ‐ SKVS
def statuscheck():
messages=['Your requested has been accomplished.',
'Sorry for the delay. Please wait. The message has been redirected.',
'The issue is under processing. Please wait till request accomplished.']
ref=int(input('Please enter registered mobile number:'))
x=random.randint(0,2)
print(' ',messages[x])
print()
def withdraw():
ref=int(input('Please enter registered mobile number:'))
query="Delete from PWDCOMPLAINTS where PHONENO={};".format(ref)
mycursor.execute(query)
mycon.commit()
print(' Your Complaint has been withdrawn.')
print()mycon.close()
19 | P a g e ‐ SKVS
def checkall():
query="Select*from PWDCOMPLAINTS;"
mycursor.execute(query)
d=mycursor.fetchall()
n=mycursor.rowcount
print('Total number of complaints registered:',int(n))
print()
print('The order of printing the records is:','NAME','PHONENUMBER',
'AREA','DISTRICT','PINCODE','COMPLAINT','MAIL ADDRESS',sep=' : ')
print()
for i in d:
print(i[0],int(i[1]),i[2],i[3],int(i[4]),i[5],i[6],sep=' : ')
print()
mycon.close()
20 | P a g e ‐ SKVS
#_MAIN_
print(' PUBLIC WORKS DEPARTMENT - SECTOR-CHENNAI')
print()
print(' THIS PROGRAMME HAS BEEN DEVELOPED FOR THE NEED TO REGISTER PUBLIC GRIEVANCES OR
COMPLAINTS.')
print(' PLEASE FEEL FREE TO REACH OUT FOR HELP USING THIS PROGRAMME. ALL ISSUES WILL BE TAKEN
INTO CONSIDERATION WITHOUT BIAS.')
print(' INDIA IS LEADING TO A VERY DIGITALISED NATION IN WHICH THIS SMALL HELP IN THE URBAN AREAS
REGARDING PWD WILL BE OF A GREAT HELP.')
print(' HANKING FOR CHOOSING TO USE THIS MEDIUM TO REGISTER THE COMPLAINTS.')
print()
print('IF YOU ARE A COMPLAINANT--------Type 1')
print('IF YOU ARE A GOVT. OFFICIAL-----Type 2')
print()
choice=int(input('Please enter your role:'))
print()
if choice==1:
while 2==2:
print('You have the following options to proceed:')
print('To register complaint-------------------enter 1.1')
print('To update complaint---------------------enter 1.2')
print('To livechat-----------------------------enter 1.3')
print('To check status of complaint------------enter 1.4')
print('To withdraw complaint-------------------enter 1.5')
print('To EXIT---------------------------------enter 0')
print()
c=float(input('Please enter your choice:'))
21 | P a g e ‐ SKVS
print()
if c==1.1:
registration()
elif c==1.2:
updation()
elif c==1.3:
livechat()
elif c==1.4:
statuscheck()
elif c==1.5:
withdraw()
elif c==0:
print(' THANK YOU SO MUCH FOR USING')
break
else:
print('Following are the details of complaints:')
print()
checkall()
______________________________________________________________________________________
___')
22 | P a g e ‐ SKVS
MYSQL RELATED QUERIES:
NAME OF DATABASE: URBANSECTORPWD
NAME OF TABLE CREATED: PWDCOMPLAINTS
COMMANDS FOR CREATING DATABASE:
E.g.:
UPDATE PWDCOMPLAINTS
o SET NAME = ‘Vidhya’
o WHERE NAME = ‘Lukesh’;
E.g.:
DELETE FROM PWDCOMPLAINTS
o WHERE PHONENO = 9753124680;
23 | P a g e ‐ SKVS
OUTPUTS
OUTPUT
PROG
INSERTION OF RECORDS
24 | P a g e ‐ SKVS
OUTPUT
PROG
UPDATION
25 | P a g e ‐ SKVS
STATUS CHECKING LIVECHATTING PROG
OUTPUT
26 | P a g e ‐ SKVS
AUTHORISED WITHDRAWING PROG
USER ACCESSING RECORDS
OUTPUT
27 | P a g e ‐ SKVS
LIMITATIONS AND RECOMMENDED ENHANCEMENTS
28 | P a g e ‐ SKVS
REQUIRED HARDWARE AND SOFTWARE
HARDWARE:
Standalone Personal Computer (SPC) with basic configurations:
Standalone Printer:
Any suitable 3 in 1 (printer, scanner, copier) color printer which has Wi‐Fi connectivity
SOFTWARE:
OS Windows 10 Pro
Microsoft Office Vision Professional 2007
Adobe Acrobat
Python
29 | P a g e ‐ SKVS
CONCLUSION
This project has been aimed to improve the lifestyle of the citizens. Public support and awareness is surely required
to make this project a success. This program is a computerized coding to implement the new idea of digitalization
which will play a vital role in the future. Reporting our grievances to the concerned officials or committee marks our
fraternity in this country. It can either be done through papers or computer. It brings no difference in our national duty
and responsibility.
30 | P a g e ‐ SKVS
BIBLIOGRAPHY
31 | P a g e ‐ SKVS
32 | P a g e ‐ SKVS