Batch-06 Documentation Akshay
Batch-06 Documentation Akshay
Major-Project Report On
BACHELOR OF TECHNOLOGY IN
Submitted By
G. AKSHAY 22TQ5A0501
Ms. VIJAYATHA
Professor
CSE DEPARTMENT
2021 - 2025
SIDDHARTHA INSTITUTE OF TECHNOLOGY & SCIENCES
(Affiliated by AICTE to JNTUH, Accredited by NAAC(A+))
Korremula Road, Narapally(V), Ghatkesar Mandal, Medchal-Dist-5000088
CERTIFICATE
This is to certify that the major-project work entitled “Service Portal for Customers, Shop Keepers
and Service Providers” is being submitted by G.AKSHAY bearing Roll No: 22TQ5A0501 in
semester IV-II, Computer Science and Engineering is a record Bonafide work carried out by them
during the academic year 2024-2025. The results embodied in this report have not been submitted
to any other University for the award of any degree.
Principal
ACKNOWLEDGEMENT
Any endeavour in the field of development is a person’s intensive activity. A successful
project is a fruitful culmination of efforts by many people, some directly involved and some
others who have quietly encouraged and supported. Salutation to be beloved and highly
for grooming us into Computer Science and Engineering graduate, we wish to thank
like to thank MS. VIJAYATHA, Department of CSE, who patiently guided and helped us
throughout our project. We take this opportunity to thank the department’s Project Review
Co-Ordinator Mr. A. SATYANARAYANA for all the review meetings, suggestions, and
MISSION STATEMENT
Import High Quality Professional Training with An Emphasis On Basic
DM1
principles Of Computer Science and Allied Engineering
We declare that this project titled Service Portal for Customers, Shop Keepers and Service
Providers submitted in partial fulfilment of the degree of B. Tech in Computer Science and
Engineering is a record of original work carried out by us under the supervision of Ms.
Vijayatha and has not formed the basis of the award of any either degree or diploma, in this or
any Institute of University. In Keeping with the ethical practice in reporting scientific
information, due acknowledgement has been made whenever the findings of others have been
cited.
G. AKSHAY 22TQ5A0501
v
ABSTRACT
In an increasingly interconnected world, the demand for local services and shopping
experiences has grown exponentially. To meet this demand effectively, platforms have
emerged to connect professionals offering services with users seeking them, promising
convenience and efficiency. However, the success of such platforms hinges on their ability
to prioritize accessibility and streamline task management for professionals while
maintaining a user-friendly interface. This abstract explores the key features and
considerations essential for the development of such a platform.
Central to the platform's design is its user-centric approach, aiming to empower both
professionals and users through intuitive interfaces and efficient workflows. Professionals
are provided with robust tools for managing tasks, schedules, and client relationships,
ensuring timely delivery of services. Simultaneously, users are offered a seamless
experience for discovering, booking, and interacting with professionals, facilitated by
advanced search functionalities and secure payment processing.
vi
INDEX
TITLES PAGE NO
1. INTRODUCTION 1
2. LITERATURE SURVEY 3
3. SYSTEM ANALYSIS 5
3.1 EXISTING SYSTEM 5
3.2 PROPOSED SYSTEM 5
4. FEASIBILITY STUDY 6
4.1 TECHNICAL FEASIBILITY 6
4.2 ECONOMICAL FEASIBILITY 6
4.3 LEGAL FEASIBILITY 6
5. SYSTEM REQUIREMENTS 7
5.1 SYSTEM SPECIFICATION 7
5.2 HARDWARE REQUIREMENTS 7
vii
6. SYSTEM DESIGN 8
6.1 SYSTEM ARCHITECTURE 8
6.2 DETAILED DESIGN 10
6.3 USE CASE DIAGRAM 11
6.4 SEQUENCE DIAGRAM 15
6.5 CLASS DIAGRAM 16
7. IMPLEMENTATION 17
7.1 MODULES 17
7.2 SAMPLE CODE 27
8. SYSTEM TESTING 35
8.1 TYPES OF TESTS 35
8.2 UNIT TESTING 36
8.3 INTEGRATION TESTING 37
8.4 ACCEPTANCE TESTING 37
10. SCREENSHOTS 40
12. CONCLUSION 52
13. BIBLOGRAPHY 53
vii
i
LIST OF FIGURES
ix
LIST OF SCREEN SHOTS
FIG-10.1 INDEX 40
FIG-10.2 ADMIN LOGIN 40
FIG-10.3 ADMIN HOME 41
FIG-10.4 ADD SERVICE (FROM HERE YOU CAN ADD NO. OF SERVICE) 41
FIG-10.5 VIEW SERVICE 42
FIG-10.6 SERVICE PROVIDER REGISTER 42
FIG-10.7 SERVICE PROVIDER LOGIN 43
FIG-10.8 SERVICE HOME 43
FIG-10.9 VIEW BOOKINGS AND ACCEPT 44
FIG-10.10 SHOP KEEPER REGISTER 44
FIG-10.11 SHOP KEEPER LOGIN 45
FIG-10.12 SHOP KEEPER HOME 45
FIG-10.13 ADD PRODUCT 46
FIG-10.14 VIEW PRODUCT 46
FIG-10.15 VIEW CUSTOMER BOOKING AND ACCEPT 47
FIG-10.16 CUSTOMER REGISTER 47
FIG-10.17 CUSTOMER LOGIN 48
FIG-10.18 CUSTOMER HOMR 48
FIG-10.19 VIEW SERVICES AND BOOK 49
FIG-10.20 SERVICE BOOKED STATUS 49
FIG-10.21 VIEW PRODUCTS AND BOOK 50
FIG-10.22 VIEW BOOKING AND ITS STATUS 50
x
1. INTRODUCTION
In today's fast-paced world, the demand for local services and shopping experiences
has surged, driven by consumers' desire for convenience and accessibility. This demand
has sparked the emergence of platforms designed to connect professionals offering
services with users seeking them, promising streamlined interactions and efficient task
management. However, the success of these platforms hinges on their ability to prioritize
user-centric design principles, ensuring accessibility, efficiency, and ease of use for both
professionals and users.
This introduction sets the stage for exploring the essential features and considerations
necessary for developing a platform that enhances accessibility and efficiency in local
services and shopping. By examining the key components that contribute to a seamless
user experience, we can gain insights into how such platforms can revolutionize the way
people access and engage with local services.
Through a user-centric approach, these platforms aim to empower professionals to
effectively manage their tasks, schedules, and client relationships while providing users
with intuitive tools for discovering, booking, and interacting with service providers. By
fostering trust and reliability within the community through transparent communication
channels and robust feedback mechanisms, these platforms seek to redefine the local
services and shopping landscape.
Furthermore, the integration of mobile compatibility ensures that users can access the
platform anytime, anywhere, catering to their dynamic lifestyles and evolving needs. By
continuously refining and optimizing their features and functionalities, these platforms
strive to deliver unparalleled convenience and satisfaction to all stakeholders involved.
In this exploration, we delve into the key features and considerations essential for the
development of such platforms, highlighting their potential to transform the local
services and shopping experience.
1
In today's fast-paced and interconnected world, the demand for local services and
shopping experiences that are convenient, reliable, and accessible has never been higher.
People lead busy lives, juggling work, family commitments, and personal responsibilities,
leaving little time for traditional methods of seeking out and engaging with local
professionals. As a result, there is a pressing need for innovative solutions that bridge the
gap between service providers and consumers, offering a seamless and efficient way to
connect and transact.
Furthermore, the COVID-19 pandemic has accelerated the shift towards online
platforms for accessing services and shopping, as people seek ways to minimize physical
contact and adhere to social distancing guidelines. This unprecedented global event has
underscored the importance of digital solutions that facilitate remote interactions and
transactions, ensuring the safety and well-being of both service providers and users.
Moreover, the rise of the gig economy and freelance workforce has led to a proliferation
of professionals offering a wide range of services, from home repairs and beauty
treatments to tutoring and personal training. However, many of these professionals
struggle to market themselves effectively and manage their operations efficiently,
hindering their ability to reach potential clients and grow their businesses.
By developing a platform that enhances accessibility and efficiency in local services and
shopping, we can address these pressing challenges and unlock numerous benefits for both
professionals and users. For professionals, such a platform offers a centralized hub
for managing their profiles, schedules, and client relationships, enabling them to
streamline their operations and maximize their earning potential. For users, it provides a
convenient and reliable way to discover, book, and engage with trusted service providers,
saving them time and effort while ensuring a positive experience.
2
2. LITERATURE SURVEY
Task Management Systems: Studies by Müller et al. (2018) delve into the design and
implementation of task management systems for professionals. The research highlights the
key features and functionalities necessary for effectively managing tasks, schedules, and
client relationships, with a focus on improving productivity and service quality.
3
Payment Processing and Security: Studies by Kshetri (2017) examine the challenges
and opportunities associated with online payment processing and security in e-commerce
platforms.
Local Services Market Trends: Industry reports by Statista and Deloitte provide
valuable insights into the current trends and dynamics shaping the local services market.
These reports offer data on market size, growth projections, and consumer behaviour,
informing strategic decision-making and platform development efforts.
By synthesizing findings from these sources, we can gain a comprehensive understanding
of the challenges and opportunities in the local services and shopping domain, as well as
the key factors driving the success of digital platforms in this space. This literature survey
serves as a foundation for informing the design and development of our platform, ensuring
that it meets the needs and expectations of both professionals and users.
4
3. SYSTEM ANALYSIS
At Doorstep is basically concerned for this section of society and is an initiative top
remove all the mediators between the customer and the employee/laborer. This website
provides details of all the services providers and near by shops with the reviews. And also
we want to provide many services like tutors, lawyers appointment, Gardener, and health
care
ADVANTAGES:
1. Increase the business of native service suppliers.
2. This website is beneficial for both the persons requiring service as well as the
service providers.
5
4. FEASIBILITY STUDY
3. Market Demand: Assessing the demand for such a service portal in the target
region is crucial.
4.3. LEGAL FEASIBILITY
1. Compliance: Ensuring the platform adheres to local regulations, including data
protection laws and e-commerce guidelines.
2. Terms and Conditions: Clearly defined user agreements for customers,
shopkeepers, and service providers to mitigate legal risks.
6
5. SYSTEM REQUIREMENTS
7
6. SYSTEM DESIGN
8
6.1.2 SERVICE ARCHITECTURE
9
6.1.4 CUSTOMER ARCHITECTURE
UML is an acronym that stands for Unified Modeling Language. Simply put,
UML is a modern approach to modeling and documenting software. In fact, it’s one of the
most popular business process modeling techniques.
It is based on diagrammatic representations of software components. As the old proverb
says: “a picture is worth a thousand words”. By using visual representations, we are able
to better understand possible flaws or errors in software or business processes.
UML was created as a result of the chaos revolving around software development and
documentation. In the 1990s, there were several different ways to represent and document
software systems. The need arose for a more unified way to visually represent
those systems and as a result, in 1994-1996, the UML was developed by three software
engineers working at Rational Software. It was later adopted as the standard in 1997 and
has remained the standard ever since, receiving only a few updates.
10
6.2.1 GOALS:
The Primary goals in the design of the UML are as follows:
1. Provide users a ready-to-use, expressive visual modeling Language so that they
can develop and exchange meaningful models.
2. Provide extendibility and specialization mechanisms to extend the core
concepts.
3. Be independent of particular programming languages and development process.
4. Provide a formal basis for understanding the modeling language.
5. Encourage the growth of OO tools market.
6. Support higher level development concepts such as collaborations, frameworks,
patterns and components.
7. Integrate best practices.
11
6.3.1 CUSTOMER USE CASE DIAGRAM
12
6.3.2 SERVICE PROVIDER USE CASE DIAGRAM
13
6.3.3 BUSOWNER USE CASE DIAGRAM
14
6.4 SEQUENCE DIAGRAM:
15
6.5 CLASS DIAGRAM:
16
7. IMPLEMENTATION
7.1 MODULES:
1. Numpy
It is the fundamental Python package for scientific computing. It has several features, the
most important of which are:
• Integration tools for C/C++ and Fortran code • Linear algebra, Fourier transform, and
random number capabilities
In addition to its obvious scientific applications, Numpy can be used as an efficient multi-
dimensional container of generic data. Numpy can define arbitrary data types, allowing it
to integrate with a wide range of databases seamlessly and quickly.
2. Pandas
3. Matplotlib
17
Matplotlib strives to make simple things simple and difficult things possible. With
a few lines of code, you can generate plots, histograms, power spectra, bar charts, error
charts, scatter plots, and so on. See the sample plots and thumbnail gallery for examples.
4. Operating system
5. Scikit – learn
6. What is Python :-
Below are some facts about Python.
Python is the most widely used multi-purpose, high-level programming language at the
moment.
18
Programmers must type relatively little, and the language's indentation requirement
ensures that their code is always readable.
Python is used by almost all tech giants, including Google, Amazon, Facebook, Instagram,
Dropbox, Uber, and others.
Python's greatest strength is its vast collection of standard libraries, which can be used for
the following.
Machine Learning
GUI Applications (like Kivy, Tkinter, PyQt etc. )
Web frameworks like Django (used by YouTube, Instagram, Dropbox)
Image processing (like OpenCV, Pillow)
Web scraping (like Scrapy, BeautifulSoup, Selenium)
Test frameworks
Multimedia
Advantages of Python :-
1. Extensive Libraries
19
2. Extensible Python can be extended to other languages, as we've seen earlier. This is
useful, especially for projects, because you can write some of your code in languages like
C or C.
3. Embeddable Python's embeddability complements its extensibility. You can put your
Python code in your source code of an alternate language, as C++. Our code in the other
language now has the ability to support scripting thanks to this.
The language's effortlessness and broad libraries render software engineers more useful
than dialects like Java and C++ do. Additionally, the fact that you need to write less and
accomplish more.
5. Opportunities in IOT Python sees a bright future for the Internet of Things because it is
the foundation of new platforms like the Raspberry Pi. This is a method for interfacing the
language with this present reality.
6. Simple and Straightforward When working with Java, you might need to create a class
in order to print "Hello World." However, a print statement is sufficient in Python. It is
additionally very simple to learn, comprehend, and code. This is the reason when
individuals get Python, they struggle with acclimating to other more verbose dialects like
Java.
7. Readable Python is similar to reading English in that it is not a very verbose language.
This is why it is so simple to learn, comprehend, and code. In addition, it does not require
curly braces to define blocks and requires indentation. This further guides the lucidness of
the code.
20
8. Object-Oriented This programming style is compatible with both object-oriented and
procedural programming. Classes and objects enable us to model the real world, whereas
functions aid in the reusability of code. A class permits the embodiment of information
and capabilities into one.
Like we said before, Python is openly accessible. However, not only is Python available
for free download, but you can also download its source code, modify it, and even
distribute it. It downloads with a broad assortment of libraries to assist you with your
assignments.
10. Portable If you want to run your project on a different platform, you may need to make
some changes if you code it in a language like C++. Python, on the other hand, is different.
Here, you really want to code just a single time, and you can run it anyplace. Write Once
Run Anywhere (WORA) is the name of this. However, you must avoid including any
system-dependent features with sufficient caution.
11. Last but not least, we will refer to it as an interpreted language. Compared to compiled
languages, debugging is simpler because statements are executed one at a time.
1. Less coding is required Compared to other languages, almost all tasks performed in
Python require less coding. You won't have to look for any third-party libraries because
Python also has great support for standard libraries.
This is the explanation that many individuals recommend learning Python to novices.
21
2. Because Affordable Python is free, anyone, no matter how big or small, can use the free
resources to create applications. Because Python is used a lot and is popular, you will get
more support from the community.
The 2019 Github yearly review showed us that Python has overwhelmed Java in the most
famous programming language classification.
3. Python is for everyone Python code can run on Windows, Linux, or a Macintosh
computer. Developers need to learn various dialects for various positions however with
Python, you can expertly construct web applications, perform information examination
and AI, robotize things, do web scratching and furthermore fabricate games and strong
representations. It is an all-rounder programming language.
Disadvantages of Python Up until this point, we have learned why Python is an excellent
choice for your project. But if you decide to do it, you should also be aware of the
consequences. Let's now examine the drawbacks of using Python over another
programming language.
1. Speed Impediments
We have seen that Python code is executed line by line. However, because Python is
interpreted, it frequently executes slowly. This, be that as it may, isn't an issue except if
speed is a point of convergence for the task. As such, except if high velocity is a
prerequisite, the advantages presented by Python are sufficient to occupy us from its speed
limits.
2. Weak in Browsers and Mobile Computing Python is a great server-side language, but it
is very rarely used on the client side. In addition, smartphone-based applications rarely
make use of it. One such application is called Carbonnelle.
Even though Brython is there, it isn't very popular because it's not very safe.
22
3. Restrictions on the design As you are aware, Python is dynamically typed. This indicates
that when writing the code, you do not need to declare the kind of variable. Duck -typing
is used. Wait, what exactly is that? Well, it just means that it must be a duck if it looks like
one. During coding, this is simple for programmers to use, but it can cause errors at
runtime.
4. Python's database access layers are a little less developed than those of more widely
used technologies like JDBC (Java DataBase Connectivity) and ODBC (Open DataBase
Connectivity). As a result, large businesses use it less frequently.
5. Straightforward
No, we're dead serious. Python's straightforwardness can without a doubt be an issue. Take
my model. I don't do Java, I'm to a greater extent a Python individual. As far as I might be
concerned, its punctuation is easy to such an extent that the verbosity of Java code appears
to be superfluous.
The Python programming language's benefits and drawbacks were the focus of this entire
discussion.
Guido Van Rossum distributed the principal form of Python code (adaptation 0.9.0) at
alt.sources in February 1991. Functions, exception handling, and the fundamental data
types list, dict, str, and others were already included in this release. It was likewise object
situated and had a module framework.
Python variant 1.0 was delivered in January 1994. The functional programming tools
lambda, map, filter, and reduce—which Guido Van Rossum never liked—were the
23
primary new features included in this release. Python 2.0 was released in October 2000,
six and a half years later. List comprehensions, a comprehensive garbage collector, and
support for unicode were all part of this release. Before the next major release, Python 3.0,
also known as "Python 3000" and "Py3K," it flourished for an additional eight years in
versions 2.x. Python 3 is not compatible with Python 2.x backwards. The 13th law of the
Zen of Python, which states, "The elimination of duplicate programming constructs and
modules," was the primary focus of Python 3. There ought to be only one obvious way to
do it, and it's best if there is only one." A few changes in Python 7.3:
• Print is now a function; • Views and iterators, not lists; • Simplified rules for ordering
comparisons For instance, a heterogeneous list cannot be sorted because all of its
components must be comparable to one another.
• There is just a single whole number sort left, for example int. long is int also.
• A float rather than an integer is produced when two integers are divided. "//" can be used
to adopt the "old" way of acting.
Purpose :-
7. Python
24
Python features a dynamic type system and automatic memory management. It supports
multiple programming paradigms, including object-oriented, imperative, functional and
procedural, and has a large and comprehensive standard library.
25
7.1.1 DATABASE ANALYSIS:
from the planned data set above, there are explanations behind the making of each
table. The principal center is around the client subtleties. As a result, each user's basic
information—such as name, email, address, and password—is stored in a user table, and
the data for each user's registration in the module is added to a specific table and kept up to
date in the database. While various modules have various tables with the equivalent fileds
in the information base yet the tabales ought to separate with the substances. As a result, in
order for the system to keep track of the precise field that the user registered for, it is
necessary to store the information for each module in accordance with the specifics. Hence,
the client table is made to deal with that. Subsequent to having pretty much every pertinent
table made, one more table is expected to store the client data of the module which will be
in the client table. The three fundamental parent tables in this data set are the modules,
client, contributor and Administrator mindful to hold essential data of the client subtleties,
client's data and giver's data separately. The user table and the donor table are two of the
four child tables in this database, however. The data belonging to various users of a
particular user module are kept in the user table. Similar to the user module, the donor table
contains similar fields with information. The admin module has a secure login, so the
information does not need to be stored in the database; however, the admin module can
access the user and donor details.
26
7.2 SAMPLE CODE
return render(request,'AdminApp/AdminHome.html')
else:
return render(request,'AdminApp/Login.html')
def addservice(request):
return render(request,'AdminApp/AddServices.html')
def AdminHome(request):
return render(request,'AdminApp/AdminHome.html')
def serviceaction(request):
servicename=request.POST['servicename']
con=pymysql.connect(host='localhost', user='root',password='root',
database='service_portal', charset='utf8')
cur=con.cursor()
cur.execute("select * from service where service='"+servicename+"'")
d=cur.fetchone()
if d is not None:
context={'msg':'Service Name Already Exist...!!'}
return render(request,'AdminApp/AddServices.html', context)
else:
cur=con.cursor()
cur.execute("insert into service values(null,'"+servicename+"')")
con.commit()
context={'msg':'Service Name Added Successfully...!!'}
return render(request,'AdminApp/AddServices.html', context)
def viewserivces(request):
con=pymysql.connect(host='localhost', user='root',password='root',
database='service_portal', charset='utf8')
cur=con.cursor()
cur.execute("select * from service ")
27
data=cur.fetchall()
table="<table><tr><th>ID</th><th>Service Name</th></tr>"
for d in data:
table+="<tr><td>"+str(d[0])+"</td><td>"+str(d[1])+"</td></tr>"
table+="</table>"
context={'data':table}
return render(request,'AdminApp/ViewServices.html', context)
def SPRegister(request):
con=pymysql.connect(host='localhost', user='root',password='root',
database='service_portal', charset='utf8')
cur=con.cursor()
cur.execute("select * from service ")
data=cur.fetchall()
table="<select class='contactus' name='servicename'>"
for d in data:
table+="<option value="+str(d[1])+">"+str(d[1])+"</option>"
table+="</select>"
context={'data':table}
return render(request,'sp/SPRegister.html', context)
def RegAction(request):
servicename=request.POST['servicename']
email=request.POST['email']
username=request.POST['username']
password=request.POST['password']
w_hours=request.POST['w_hours']
cost=request.POST['cost']
mobile=request.POST['mobile']
con=pymysql.connect(host='localhost', user='root',password='root',
database='service_portal', charset='utf8')
cur=con.cursor()
cur.execute("select * from sregister where service='"+servicename+"' and
email='"+email+"' and mobile='"+mobile+"'")
28
d=cur.fetchone()
if d is not None:
cur=con.cursor()
cur.execute("select * from service ")
data=cur.fetchall()
table="<select class='contactus' name='servicename'>"
for d in data:
table+="<option value="+str(d[1])+">"+str(d[1])+"</option>"
table+="</select>"
context={'msg':'User Already Exist...!!','data':table}
return render(request,'sp/SPRegister.html', context)
else:
cur=con.cursor()
cur.execute("insert into sregister
values(null,'"+servicename+"','"+email+"','"+username+"','"+password+"','"+w_hours+"','
"+cost+"','"+mobile+"')")
con.commit()
cur=con.cursor()
cur.execute("select * from service ")
data=cur.fetchall()
table="<select class='contactus' name='servicename'>"
for d in data:
table+="<option value="+str(d[1])+">"+str(d[1])+"</option>"
table+="</select>"
context={'data':table,'msg':'Successfully Registered Your Details...!!'}
return render(request,'sp/SPRegister.html', context)
def LoginAction(request):
uname=request.POST['username']
pwd=request.POST['password']
con=pymysql.connect(host='localhost', user='root',password='root',
database='service_portal', charset='utf8')
cur=con.cursor()
cur.execute("select * from sregister where username='"+uname+"' and
password='"+pwd+"'")
d=cur.fetchone()
if d is not None:
request.session['userid']=d[0]
request.session['servicename']=d[1]
request.session['email']=d[2]
return render(request,'sp/SPHome.html')
else:
29
context={'msg':'Login Failed...!!'}
return render(request,'sp/Login.html', context)
def SPHome(request):
return render(request,'sp/SPHome.html')
def viewBooking(request):
u_id=request.session['userid']
spid=str(u_id)
con=pymysql.connect(host='localhost', user='root',password='root',
database='service_portal', charset='utf8')
cur=con.cursor()
cur.execute("select * from service_book sb, register r where sb.userid=r.id and
sb.service_id='"+spid+"'")
data=cur.fetchall()
table="<table><tr><th>Customer
Name</th><th>Email</th><th>Mobile</th><th>Booked
Date</th><th>Status</th></tr>"
for d in data:
status=d[4]
if status=='waiting':
table+="<tr><td>"+str(d[6])+"</td><td>"+str(d[7])+"</td><td>"+str(d[8])+"</td><td>"
+str(d[3])+"</td><td><a href='AcceptService?sid="+str(d[0])+"'>Accept</a></td></tr>"
else:
table+="<tr><td>"+str(d[6])+"</td><td>"+str(d[7])+"</td><td>"+str(d[8])+"</td><td>"
+str(d[3])+"</td><td>"+str(d[4])+"</td></tr>"
table+="</table>"
context={'data':table}
return render(request,'sp/ViewBooking.html', context)
def AcceptService(request):
sid=request.GET['sid']
u_id=request.session['userid']
spid=str(u_id)
con=pymysql.connect(host='localhost', user='root',password='root',
database='service_portal', charset='utf8')
cur=con.cursor()
cur.execute("update service_book set status='Accepted' where id='"+sid+"'")
cur=con.cursor()
con.commit()
30
cur.execute("select * from service_book sb, register r where sb.userid=r.id and
sb.service_id='"+spid+"'")
data=cur.fetchall()
table="<table><tr><th>Customer
Name</th><th>Email</th><th>Mobile</th><th>Booked
Date</th><th>Status</th></tr>"
for d in data:
status=d[4]
if status=='waiting':
table+="<tr><td>"+str(d[6])+"</td><td>"+str(d[7])+"</td><td>"+str(d[8])+"</td><td>"
+str(d[3])+"</td><td><a href='AcceptService?sid="+str(d[0])+"'>Accept</a></td></tr>"
else:
table+="<tr><td>"+str(d[6])+"</td><td>"+str(d[7])+"</td><td>"+str(d[8])+"</td><td>"
+str(d[3])+"</td><td>"+str(d[4])+"</td></tr>"
table+="</table>"
context={'data':table,'msg':'Successfully Accepted Request...!!'}
return render(request,'sp/ViewBooking.html', context)
from django.shortcuts import render
import pymysql
def SKRegister(request):
return render(request,'sk/SKRegister.html')
def RegAction(request):
email=request.POST['email']
shopname=request.POST['shopname']
address=request.POST['address']
username=request.POST['username']
password=request.POST['password']
mobile=request.POST['mobile']
con=pymysql.connect(host='localhost', user='root',password='root',
database='service_portal', charset='utf8')
cur=con.cursor()
cur.execute("select * from skregister where shopname='"+shopname+"' and
email='"+email+"' and mobile='"+mobile+"'")
d=cur.fetchone()
if d is not None:
31
context={'msg':'Already Exist These Details...!!'}
return render(request,'sk/SKRegister.html', context)
else:
cur=con.cursor()
cur.execute("insert into skregister
values(null,'"+shopname+"','"+email+"','"+address+"','"+mobile+"','"+username+"','"+pas
sword+"')")
con.commit()
context={'msg':'Successfully Registered Your Details...!!'}
return render(request,'sk/SKRegister.html', context)
def LogAction(request):
uname=request.POST['username']
pwd=request.POST['password']
con=pymysql.connect(host='localhost', user='root',password='root',
database='service_portal', charset='utf8')
cur=con.cursor()
cur.execute("select * from skregister where username='"+uname+"' and
password='"+pwd+"'")
d=cur.fetchone()
if d is not None:
request.session['userid']=d[0]
request.session['shopname']=d[1]
request.session['email']=d[2]
return render(request,'sk/SKHome.html')
else:
context={'msg':'Login Failed...!!'}
return render(request,'sk/Login.html', context)
def SKHome(request):
return render(request,'sk/SKHome.html')
def addProducts(request):
return render(request,'sk/AddProduct.html')
def ProductAction(request):
pname=request.POST['pname']
available=request.POST['available']
price=request.POST['price']
usage=request.POST['usage']
32
con=pymysql.connect(host='localhost', user='root',password='root',
database='service_portal', charset='utf8')
cur=con.cursor()
cur.execute("select * from product where pname='"+pname+"'")
d=cur.fetchone()
if d is not None:
def viewproducts(request):
sid=request.session['userid']
shop_id=str(sid)
con=pymysql.connect(host='localhost', user='root',password='root',
database='service_portal', charset='utf8')
cur=con.cursor()
table+="<tr><td>"+str(d[0])+"</td><td>"+str(d[2])+"</td><td>"+str(d[3])+"</td><td>"
+str(d[4])+"</td><td>"+str(d[5])+"</td></tr>"
table+="</table>"
context={'data':table}
return render(request,'sk/ViewProducts.html', context)
def viewbookings(request):
u_id=request.session['userid']
spid=str(u_id)
con=pymysql.connect(host='localhost', user='root',password='root',
database='service_portal', charset='utf8')
cur=con.cursor()
cur.execute("select * from product_book pb, register r where pb.user_id=r.id and
33
pb.shop_id='"+spid+"'")
data=cur.fetchall()
table="<table><tr><th>Customer
Name</th><th>Email</th><th>Mobile</th><th>Booked
Date</th><th>Status</th></tr>"
for d in data:
status=d[5]
if status=='waiting':
table+="<tr><td>"+str(d[7])+"</td><td>"+str(d[8])+"</td><td>"+str(d[9])+"</td><td>"
+str(d[4])+"</td><td><a href='AcceptProduct?sid="+str(d[0])+"'>Accept</a></td></tr>"
else:
table+="<tr><td>"+str(d[7])+"</td><td>"+str(d[8])+"</td><td>"+str(d[9])+"</td><td>"
+str(d[4])+"</td><td>"+str(d[5])+"</td></tr>"
table+="</table>"
context={'data':table}
return render(request,'sk/ViewBooking.html', context)
def AcceptProduct(request):
sid=request.GET['sid']
u_id=request.session['userid']
spid=str(u_id)
con=pymysql.connect(host='localhost', user='root',password='root',
database='service_portal', charset='utf8')
cur=con.cursor()
cur.execute("update product_book set status='Accepted' where id='"+sid+"'")
cur=con.cursor()
con.commit()
cur=con.cursor()
cur.execute("select * from product_book pb, register r where pb.user_id=r.id and
pb.shop_id='"+spid+"'")
data=cur.fetchall()
table="<table><tr><th>Customer
Name</th><th>Email</th><th>Mobile</th><th>Booked
Date</th><th>Status</th></tr>"
for d in data:
status=d[5]
if status=='waiting':
table+="<tr><td>"+str(d[7])+"</td><td>"+str(d[8])+"</td><td>"+str(d[9])+"</td><td>"
+str(d[4])+"</td><td><a href='AcceptProduct?sid="+str(d[0])+"'>Accept</a></td></tr>"
else:
table+="<tr><td>"+str(d[7])+"</td><td>"+str(d[8])+"</td><td>"+str(d[9])+"</td><td>"
+str(d[4])+"</td><td>"+str(d[5])+"</td></tr>"
table+="</table>"
context={'data':table}
return render(request,'sk/ViewBooking.html', context)
34
8. SYSTEM TESTING
The goal of testing is to find flaws. Testing is the process of attempting to find every
possible flaw or weakness in a work product. It enables the testing of components,
subassemblies, assemblies, and/or finished products. It is the process of testing software to
ensure that it meets its requirements and meets user expectations and does not fail in an
unacceptable way. There are several types of tests. Each test type addresses a distinct testing
need.
Unit testing entails creating test cases to ensure that the internal programme logic is
working properly and that programme inputs produce valid outputs. Validation should be
performed on all decision branches and internal code flow. It is the testing of t he
application's individual software units.It is done after an individual unit has been completed
but before integration. This is an invasive structural test that relies on knowledge of its
construction. Unit tests are used to perform basic tests at the component level and to test a
specific business process, application, or system configuration. Unit tests ensure that each
distinct path of a business process adheres to the documented specifications and has clearly
defined inputs and expected outcomes.
2. Integration testing:
35
3. Functional test:
Functional tests demonstrate in a systematic manner that the tested functions are
available in accordance with the system documentation, user manuals, and business and
technical requirements.
The following aspects are at the heart of functional testing:
Valid Data: Acceptance of identified valid input classes is required. Incorrect Data:
distinguished classes of invalid information should be dismissed. Functions: It is
necessary to perform the identified functions.
The final product: distinguished classes of utilization yields should be worked out.
Systems/Procedures: connecting frameworks or techniques should be summoned.
Association and planning of utilitarian tests is centered around prerequisites, key
capabilities, or extraordinary experiments. Furthermore, orderly inclusion relating to
recognize Business process streams; testing must take into account data fields, predefined
processes, and subsequent processes. Additional tests are identified and the effective value
of existing tests is determined prior to the completion of functional testing.
36
Features to be tested
Verify that the entries are of the correct format
No duplicate entries should be allowed
All links should take the user to the correct page.
37
9. INPUT DESIGN AND OUTPUT DESIGN
Input Design focuses on how data is collected and entered into the system. Well-
designed input forms and screens ensure that data is captured accurately and efficiently.
9.1.1 Objectives of Input Design
Data Entry Procedures: Establish clear and efficient methods for entering data.
Volume Reduction: Minimize unnecessary data entry to streamline the process.
Source Documents: Design forms or documents that facilitate easy data capture.
Input Records: Create structured data entry screens and user interfaces.
Validation Checks: Implement checks to ensure data accuracy and integrity.
38
9.2.2 Types of Outputs
External Outputs: Reports or documents sent outside the organization, such as
invoices or service confirmations.
Internal Outputs: Reports used within the organization for management and
operational purposes.
9.2.3 Output Integrity Controls
Routing Codes: Use codes to direct outputs to the appropriate recipients or systems.
Verification Messages: Confirm successful receipt of outputs, especially in
electronic communications.
Report Details: Include necessary information like date/time, pagination, and
version numbers.
39
10. SCREENSHOTS
10.1 INDEX
40
10.3 ADMIN HOME
10.4 ADD SERVICE (FROM HERE YOU CAN ADD NO.OF SERVICE)
41
10.5 VIEW SERVICE
42
10.7 SERVICE PROVIDER LOGIN
43
10.9 VIEW BOOKINGS AND ACCEPT
44
10.11 SHOP KEEPER LOGIN
45
10.13 ADD PRODUCT
46
10.15 VIEW CUSTOMER BOOKING AND ACCEPT
47
10.17 CUSTOMER LOGIN
48
10.19 VIEW SERVICES AND BOOK
49
10.21 VIEW PRODUCTS AND BOOK
50
11. FUTURE ENHANCEMENT
To ensure the Service Portal remains relevant and continues to meet the evolving
needs of Customers, Shopkeepers, and Service Providers, several enhancements can be
considered:
1 AI-Powered Personalization
Intelligent Recommendations: Utilize AI to suggest services, products, or content
based on user behaviour and preferences.
Predictive Analytics: Analyze user data to anticipate needs and provide proactive
solutions.
2 Enhanced Mobile Experience
Responsive Design: Ensure the portal is fully optimized for mobile devices,
providing a seamless user experience across all screen sizes.
Mobile App Integration: Develop dedicated mobile applications for iOS and
Android to offer offline capabilities and push notifications.
3 Advanced Collaboration Tools
Real-Time Communication: Implement chat features, video conferencing, and
collaborative workspaces to facilitate better interaction among users.
Shared Workspaces: Allow users to collaborate on tasks, share documents, and
track progress in real-time.
4. Comprehensive Analytics and Reporting
Customizable Dashboards: Provide users with the ability to create personalized
dashboards that display key metrics and insights relevant to their roles.
Advanced Reporting: Enable detailed reporting capabilities to track performance,
identify trends, and make data-driven decisions.
5. Integration with Third-Party Systems
API Integrations: Allow the portal to connect with external systems such as CRM,
ERP, and payment gateways to streamline operations.
51
Single Sign-On (SSO): Implement SSO to provide users with a seamless login
experience across multiple platforms.
6. Enhanced Security Features
Multi-Factor Authentication (MFA): Implement MFA to add an extra layer of
security to user accounts.
Role-Based Access Control (RBAC): Define user roles and permissions to ensure
appropriate access to resources and data.
7. Self-Service Capabilities
Knowledge Base: Develop a comprehensive knowledge base that provides users
with answers to frequently asked questions and troubleshooting guides.
Automated Support: Implement AI chatbots to provide instant assistance and
resolve common issues without human intervention.
8. Feedback and Continuous Improvement
User Feedback Mechanisms: Incorporate surveys and feedback forms to gather
user input and identify areas for improvement.
Continuous Updates: Regularly update the portal with new features,
enhancements, and bug fixes based on user feedback and technological
advancements.
52
12. CONCLUSION
53
13. BIBLIOGRAPHY
[1] Chevalier, J. A., & Mayzlin, D. (2006). The Effect of Word of Mouth on Sales:
Online Book Reviews. Journal of Marketing Research, 43(3), 345–354.
[2] Kshetri, N. (2017). E-commerce security and fraud protection: A global overview.
In E-commerce security (pp. 3-20). Routledge.
[3] Müller, S., Ardissono, L., Jannach, D., & Friedrich, G. (2018). Task-based service
selection in the presence of user preferences. Information Systems, 76, 36 -53.
[5] Norman, D. A. (2013). The design of everyday things: Revised and expanded
edition. Basic Books.
[6] Parker, G. G., Van Alstyne, M. W., & Choudary, S. P. (2016). Platform revolution:
How networked markets are transforming the economy and how to make them work
for you. WW Norton & Company.
[7] Rigby, D. K., & Ledingham, D. (2004). CRM done right. Harvard Business Review,
82(11), 118-129.
54