Sms
Sms
Sms
By
SUPERVISOR:
NOVEMBER 2023
DECLARATION
This project is presented as part of the requirements for a BSc in Information Technology
awarded by Ghana Technology University College. I hereby declare that this project is entirely
the result of hard work, research, and inquires. I am confident that this project work is not
copied from any other person. All sources of information have however been acknowledged
with due respect.
i
ABSTRACT
ii
TABLE OF CONTENTS
Title Page
Declaration .................................................................................................................................. i
Abstract ...................................................................................................................................... ii
Table of contents ....................................................................................................................... iii
List of tables .............................................................................................................................. vi
List of figures ........................................................................................................................... vii
Acknowledgement ..................................................................................................................... ix
Chapter One: Introduction...................................................................................................... 1
1.1 Background to Study......................................................................................................... 1
1.2 Statement of the Problem .................................................................................................. 5
1.3 Aim & Objectives.............................................................................................................. 6
1.4 Significance of the Study .................................................................................................. 6
1.5 Organization of the Study ................................................................................................. 7
iv
4.5.1 Testing stages ......................................................................................................... 53
4.5.2 Testing plan ............................................................................................................ 54
4.5.3 Testing cases ......................................................................................................... 55
REFERENCES ....................................................................................................................... 58
Appendix A: Installation guide and System Requirements...................................................... 62
Appendix B: Test Cases ........................................................................................................... 69
Appendix C: Sample Codes ..................................................................................................... 77
Appendix D: User Evaluation .................................................................................................. 86
v
LIST OF TABLES
vi
LIST OF FIGURES
vii
Figure 4.22: List of events ....................................................................................................... 49
Figure 4.23: Ticket sales .......................................................................................................... 49
Figure 4.24: Parking space ....................................................................................................... 50
Figure 4.25: Add parking lot .................................................................................................... 50
Figure 4.26: Stadium assets...................................................................................................... 51
Figure 4.27: Add asset .............................................................................................................. 51
Figure 4.28: Schedule maintenance dashboard ........................................................................ 52
Figure 4.29: Add maintenance ................................................................................................. 52
Figure 4.30: Tickets refund ...................................................................................................... 53
Figure A.1: Python interpreter download interface .................................................................. 62
Figure A.2: Node.js download interface .................................................................................. 62
Figure A.3: Stadium management system folder ..................................................................... 64
Figure A.4: Backend and frontend folders ............................................................................... 65
Figure A.5: Backend files......................................................................................................... 65
Figure A.6: Starting Django server .......................................................................................... 66
Figure A.7: Starting backend server using command prompt .................................................. 66
Figure A:8: Starting frontend server using command prompt ................................................. 67
Figure B.1: Account created successfully ................................................................................ 69
Figure B.2: Invalid login attempt occurred .............................................................................. 70
Figure B.3: Admin edit user information ................................................................................. 73
viii
ACKNOWLEDGMENT
First and foremost, I want to express my heartfelt gratitude to my supervisor, Dr. Eli
Fianu, for his constant support throughout this project. His comments, encouragement,
patience, enthusiasm, extensive knowledge, and guidance have been invaluable to me. I am
truly grateful for his mentorship.
We would also like to extend my thanks to all my lecturers at Ghana Communication
Technology University. Their dedication and expertise have greatly contributed to my
knowledge and professional growth during my time at the university.
Furthermore, we would like to express our deepest gratitude to God for His blessings,
guidance, and unwavering presence throughout this project. His divine support has been a
source of strength and inspiration for me.
In addition, we would like to extend my sincere appreciation to our esteemed colleague
for their unwavering support during the implementation stage of this project.
Finally, we must express my very profound gratitude to my mother and my relations for
providing me with unfailing support and continuous encouragement throughout my years of
study and through the implementation of the project and writing this thesis. This
accomplishment would not have been possible without them.
ix
CHAPTER ONE
INTRODUCTION
1
report also reveals that the average attendance during the 2021-2022 season was 55,026, with
the highest average attendance being 86,422.
In the past, stadium managers relied on outdated technology to manage stadium
operations, such as manual ticket recording and data storage. However, with the evolution of
technology, most stadium managers in Europe are now adopting new technologies to meet the
changing needs of their fans. Application programming interfaces (APIs) enable developers to
create systems that utilize stadium information, such as schedules for sporting events or
concerts, seating charts, and mobile ticketing systems.
Stadiums have seen significant changes in their management systems since the 1990s.
Early systems relied on proprietary hardware and software for ticket sales and access control.
However, modern stadium management systems have become more centralized and integrated
with the advent of computer technology, allowing spectators to connect with stadium
administrators through the Internet using their devices. These systems connect people, goods,
and services and provide content and services that spectators can enjoy at the stadium. Modern
systems can handle everything from ticket sales to concession management and provide fans
with real-time information, such as seat location and wait times. Today's systems incorporate
real-time analytics, predictive maintenance, and mobile ticketing.
According to Kenneth and Jane (2016), enterprise-wide information systems have
enabled managers to make accurate and timely decisions by accessing important information
online almost instantly. These systems are relied on by over 21 million managers and 154
million workers in the information and knowledge sectors of the United States to conduct their
business. There are various types of stadium management systems currently in use. The most
common include ticketing systems, security systems, crowd control systems, facility
maintenance systems, and event management systems.
Ticketing systems are essential for managing ticket sales and distribution and can enhance
the experience for both fans and event organizers. By integrating with other stadium
management systems, ticketing systems can provide a more seamless experience for fans.
Several European stadiums have developed custom ticketing systems that cater to their specific
needs, such as Old Trafford in Manchester, Johan Cruyff Arena in Amsterdam, Camp Nou in
Barcelona, and Signal Iduna Park in Dortmund. In Africa, some stadiums have their own
ticketing systems, while others may use commercial ticketing systems. The Ghana Football
Association (2022) announced that an e-ticketing system will be used for the purchase of
advance tickets for the MTN FA Cup final match at the Accra Sports Stadium.
2
Stadiums in Europe prioritize the safety and security of attendees by implementing a
range of security features such as CCTV monitoring, access control systems, and emergency
response systems. Due to concerns over terrorism and security threats, many stadiums have
increased their security measures in recent years. FIFA has mandated that all stadiums need to
have a fully integrated safety and security strategy that covers the entire structure and its
surroundings. Security measures in African stadiums are dependent on the stadium, with some
having more advanced security features like CCTV monitoring and access control systems.
Unique security challenges, such as political instability, can also impact the level of security
required in some African stadiums.
Facility maintenance involves the processes and activities that enable organizations to
derive maximum utility from their commercial buildings, encompassing the assets and
equipment within and around the structure (Jonathan, 2021). It is a crucial component of
stadium management systems, ensuring that stadiums are safe, comfortable, and functional for
their intended purposes. Most sports stadiums worldwide employ facility maintenance to keep
their facilities in good working condition. However, in Ghana, public infrastructure such as
stadiums, offices, and the national theater is in poor condition, posing safety hazards to the
public (Chen et al, 2018). These issues are attributed to the over-centralization of maintenance
decisions.
Event scheduling is a crucial element in stadium management systems. It enables
stadium managers to plan and organize events, allocate resources, and coordinate with event
organizers. There are various event management systems used worldwide, including
Eventbrite, Cvent, RegOnline, and Bizzabo. These platforms provide features such as
registration, marketing, and analytics to help event organizers manage their events, such as
games, concerts, and other performances. Ticketpro and Webtickets are popular in South Africa
and other parts of the world.
Stadium management systems provide several benefits to stadium operators. They offer
features such as online ticketing, mobile apps, and in-seat ordering that can enhance the fan
experience. They provide tools for marketing, ticketing, and concessions management that can
help increase revenue. They offer access control and emergency response features that can
enhance security. They facilitate better management of data related to ticket sales, attendance,
and other metrics. They provide tools for scheduling and maintenance that can streamline
operations.
Most of the football clubs in Europe offers stadium tours that allow visitors to book ticket
online and explore the stadium, learn about its history and architecture, and visit the stadium’s
3
museum. These tours are often led by knowledgeable guides who provide information about
the stadium’s design, construction, and use.
In Africa, some of the football clubs, including Kazier Chiefs, Orlando Pirates, and Al
Ahly offer online stadium tours and ticket book options. This can increase revenue through
booking fees to cover the cost of running the tour, such as staffing and maintenance expenses.
According to a video on CitiTube (2019), the Egyptian club Al Ahly gave a tour of their
facilities to Ghanaian sports journalist Fentuo Tahiru.
The largest multi-purpose stadium in Ghana is the Baba Yara Sports Stadium, which can
seat up to 40,528 people. It was built in 1957 by the United African Company and is primarily
used for football matches, but it also hosts athletics, concerts, politics, and cultural events.
Other stadiums in Ghana include Accra Sports Stadium, Tamale Sports Stadium, Sekondi
Sports Stadium, and Ho Sports Stadium. These stadia have different seating capacities and are
also used for non-sports events such as cultural and comedy events. Most of the stadia in Ghana
are publicly funded by the municipal and local governments.
To improve fan attendance in the 2016/2017 football season, the Ghana Football
Association (G.F.A) organized a seminar for club administrators on strategies to attract fans to
Stadia. According to pioneering research undertaken by the African Sports Center in 2019,
there was a higher attraction to stadium attendance (58%).
The computerized ticketing system at Ghana's stadiums has been inefficient since the
first stadium was built. The National Sports Authority (NSA) is responsible for funding and
maintaining these stadia. During events, security personnel only allow people with tickets to
enter the stadium area. To make tickets more accessible, event organizers sell them at outlets
near the stadium on the day of the event.
In Ghana, event organizers and promotional teams advertise upcoming events like
football games on radio and TV stations. Tickets are usually printed and distributed to various
outlets such as shopping malls, restaurants, and filling stations. Additionally, people can
purchase tickets on online ticketing platforms such as eGotickets.
Fake ticketing is a significant issue in Ghana, particularly in the entertainment industry
and sports industry. However, there have been reports of counterfeit tickets being sold, as two
individuals believed to be Nigerians were arrested on March 24th, 2022 for allegedly selling
fake tickets to the match between the Blackstars and the Super Eagles at the Baba Yara
Stadium, according to a video on KofiTv (2022). This fraudulent activity not only hurts the
revenue of event organizers but can also endanger the safety of attendees. Implementing an
4
automated ticketing system with proper security measures can help prevent fake ticketing and
ensure a safe and enjoyable experience for all attendees.
This project will involve the design and Implementation of a Computerized Stadium
Management System which will be able to generate and deliver electronic tickets, store, locate
or retrieve information, when necessary, schedule events, and other operational activities.
5
customer support, reducing the need for customers to contact customer service. Overall, the
proposed system could offer a more efficient and convenient experience for customers,
improving stadium operations and customer satisfaction.
6
system also maximizes efficiency and throughput with virtually no need for human
intervention.
With this system, users can fill out and purchase their tickets in a faster and more
convenient way than by queuing for hours to purchase tickets. It also helps to eradicate
overcrowding issues at the stadium.
7
CHAPTER TWO
LITERATURE REVIEW
8
stadium. They also collect data on fan behavior and preferences, which can help stadium
managers improve their services and offerings. According to Yilmaz et al (2022), SeatGeek is
a mobile application that enables fans in the United States to purchase tickets and discover
seating options for events at stadiums and arenas. In addition, VenueNext is an app that
provides real-time information on parking and seating for the stadium.
Mobile apps are gaining popularity in the sports industry as they offer a convenient
way for fans to access information and services related to the stadium and events. One of the
key benefits of mobile apps and web applications is the consolidation of all services and data
in a single platform, which helps stadium managers provide a seamless experience for fans
and improve their overall experience (Schut and Glebova, 2022).
Analytics software optimizes stadium operations by analyzing data from various
sources, such as customer feedback and ticket sales, to reveal insights into customer behavior,
preferences, and trends. Stadium staff can use analytics software to visualize trends and make
data-driven decisions for long-term planning (Intel, 2016). Smart stadiums require a mix of
hardware, software, and wireless connectivity to establish communication links between
stadium operators and fans and to collect and analyze data using cloud infrastructure (Intel,
2016). IBM Sports Insight, SAS Sports Analytics, and Tableau are cited by Roy (2017) as
examples of analytics software used in stadium management systems.
Digital signage is a technology that enhances the fan experience and generates revenue
for the stadium. According to Lee et al. (2019), stadium signage has become standard
advertising in the sports industry, benefiting both the sports organization and the sponsor. The
introduction of digital signage has evolved stadium advertising. Recent stadiums use digital
boards to display the signage of a single sponsor as close to the viewer's field of view as
possible, creating a bigger impact on the audience (Lee et al, 2022). Digital signage provides
real-time information on parking, seating, and amenities to help fans navigate the stadium more
easily. It also displays advertisements and promotions, generating revenue for the stadium.
9
2.2.1.1 Database management system
Database technology has significantly influenced the widespread use of computers.
Databases play a crucial role in storing and managing vast amounts of data, which is vital for
numerous computer applications (Elmasri and Navathe, 2010). According to Satinda and
Aditya (2017), a database is a collection of interrelated data that is stored together with
controlled redundancy to serve one or more applications in the best possible way.
A database management system (DBMS) is a software tool designed to help maintain
and utilize large collections of data, and its significance is increasing rapidly as organizations
increasingly rely on data to make informed decisions (Raghu and Johnnes, 2019).
The first general-purpose database management system (DBMS) was developed in the
early 1960s by Charles Bachman at General Electric. This system was called the Integrated
Data Store and formed the basis for the network data model. IBM developed the Information
Management System (IMS) DBMS in the late 1960s, which is still used today in many major
installations (Raghu and Johnnes, 2019). DBMSs have entered the Internet Age, and using a
DBMS to store data that is accessed through a web browser is becoming widespread. Queries
are generated through web-accessible forms and answers are formatted using a markup
language such as HTML. Database vendors are adding features to their DBMS aimed at making
it more suitable for deployment over the Internet (Raghu and Johnnes, 2019).
Elmasri and Navathe (2010) state that traditional database applications refer to those
where the majority of the information is stored and accessed in either textual or numeric format.
Stadium management systems typically use traditional databases to store and manage
structured data such as customer information, ticket sales, and stadium maintenance records.
According to Ghosal et al (2015), when a user books a ticket, the SQLite database stores the
geographic locations of the source and destination, ticket type, and booking date. This data can
be accessed and manipulated by authorized personnel to help manage the stadium and improve
the fan experience.
Stadium management systems store unstructured data in addition to structured data.
Unstructured data examples include photos, videos, and social media posts related to the
stadium or its events. Alternative data storage methods like NoSQL databases are used to
manage unstructured data (Dipanjan, 2016).
10
users don't need to worry about setting up infrastructure, purchasing new equipment, or
investing in licensed software. Instead, they can access any amount of computing resources,
large or small, for a nominal fee (Sandeep, 2017). According to Rashid and Chartuverdi (2019),
cloud computing refers to the practice of storing and accessing data and programs over the
Internet, rather than on a computer's hard drive.
Stadium management systems are now cloud-based and hosted on remote servers, which
makes them more flexible, scalable, and cost-effective than traditional on-premise systems.
Users can access the system via a web browser or mobile app, and all data is stored on the
remote servers. In a stadium management system, the three layers of cloud computing would
be Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service
(SaaS).
According to Mahdi et al. (2021), Infrastructure as a Service (IaaS) involves the
distribution of servers as a service, including storage, network, and operating systems. In this
model, the cloud provider is responsible for providing an imaginary computer that already has
the operating system installed and configured. At the Infrastructure as a Service (IaaS) layer,
the cloud provider would provide fundamental computing resources, such as virtual machines
and storage, to the stadium management system. This would enable the stadium to store and
analyze vast amounts of data related to ticket sales, concessions, and other aspects of stadium
operations.
In computing, platform as a service (PaaS) is the underlying system over which
applications run. The platform consists of the physical computing device (hardware) loaded
with layer(s) of software where the program or application can run. (Sandeep, 2017). At the
PaaS layer, the cloud provider would offer a platform for developing and deploying
applications specific to the stadium management system. This could include tools for managing
ticket sales and other aspects of stadium operations.
The Software as a Service (SaaS) layer provides fully functional software applications that
can be accessed over the Internet. These applications are hosted on the cloud provider's servers
and can be accessed by users through a web browser or mobile app. Cloud computing can help
stadiums operate more effectively by providing access to advanced technologies like data
analytics, artificial intelligence, and machine learning, which can help stadiums optimize
operations and improve the fan experience (Mahdi et al, 2021).
11
2.3 Features of stadium management system
Stadium management systems consist of two categories of features: essential and
advanced. Essential features include ticketing, access control, and facility maintenance, while
advanced features include real-time reporting and analytics, security management, and parking
management. The main goal of these features is to streamline processes, increase efficiency,
and enhance the overall fan experience (Christopher, 2018).
12
orders. A comprehensive facility maintenance system can help streamline the process of data
management and ensure that the right information is available to the right people at the right
time.
Stadium management systems use analytics to track various aspects of events, including
ticket sales, attendance, and revenue. By analyzing this data, administrators can gain insights
into the success of events and make informed decisions about pricing, marketing, and event
planning.
13
manage ticket inventory, reduce the risk of a black market, and provide a more secure way for
fans to purchase tickets.
14
Iran, online sales are the exclusive method of purchasing tickets for all league matches at Azadi
Stadium (Narimani et al, 2017). Narimani et al. (2017) also explain that for Premier League
clubs in Iran to be responsible for selling tickets for their teams, they must have their
stadiums. Unfortunately, most clubs in Iran do not have this essential feature.
Passolig is a smart card system introduced in 2014 to enhance security and prevent
violence at football matches in Turkey. Fans must purchase a Passolig card and register their
personal information to buy tickets. Spectators who want to watch football matches in stadiums
are required to purchase tickets electronically through this system and link the tickets to the
Passolig card (Eturan-Ogut, 2020; Gohkan and Sevda, 2021). The system aims to prevent the
unauthorized sale of tickets and monitor fan behavior to improve safety and security (Gohkan
and Sevda, 2021). According to Eturan-Ogut (2019), the Passolig card was introduced to enable
online ticket purchasing and stadium entrance systems through the designated bank, Aktif
Bank. Furthermore, the card also allows the government to have surveillance and control over
stadiums.
Ghana's National Sports Authority partnered with a private ticket vendor and Ghana.gov
to launch e-ticketing for sports events, according to a Ghana Web report. Fans could easily
purchase game tickets using mobile money via the shortcode (*711#) and obtain a unique code,
which they presented on game day to gain stadium admission (GhanaWeb, 2022). In Ghana,
Ego Tickets, an e-ticketing platform, provides an easy and convenient way for fans to purchase
tickets for sporting events, concerts, and other events
Jubair et al (2019) propose an Automated Stadium Attendance Management system that
includes a barcode to check the validity of tickets. Tickets are scanned by mobile phones, and
the system updates the database with ticket information such as seat number, block number,
match date, and attendance time. It calculates the amount of audience entry into the stadium
and displays their seats. If the ticket is not valid, the scanner application warns the gate guard.
Users can also update the attendance data of the system from their smartphones.
According to Li (2023), RFID technology and barcodes are frequently used in intelligent
ticketing systems to enhance data security and identify electronic ticketing information. The
ticket inspection service of these systems can utilize RFID card readers and barcode scanners
to simplify the ticket inspection process and bolster stadium security. Nughara et al. (2021)
conducted a study to enhance the design of a multi-sport event ticket accounting information
system by incorporating RFID and blockchain technologies to enforce COVID-19 health
protocols. The study revealed that the effectiveness of tickets for spectators was hindered by
budget and environmental issues.
15
2.4.1.1 Review of existing ticketing system
• Ticket-Master
Ticketmaster Entertainment, Inc. is an American-based company that distributes and
sells tickets. In 2010, it merged with Live Nation to form Live Nation Entertainment (Jeremy
and Yinka, 2015). Ticketmaster offers ticketing services for concerts, sports events, theater
performances, and other events. It operates in numerous countries worldwide, making it one of
the largest ticketing platforms globally.
TicketMaster is a widely used ticketing platform for stadiums, arenas, and other venues
across the United States. Some of the most famous venues that use TicketMaster include
Madison Square Garden, Staples Center, and the O2 Arena, but many other venues also use
TicketMaster for ticketing services.
Ticketmaster has various features and capabilities that are similar to those found in
stadium management systems. These functionalities are designed to help venues manage ticket
sales, event scheduling, and other aspects of event planning and management. The homepage
of Ticketmaster is shown in Figure 2.1.
One key strength of Ticketmaster is its user-friendly platform. The Ticketmaster website
and mobile app are easy to navigate, allowing consumers to efficiently purchase tickets for
events. Steve (2023) reports that Ticketmaster has implemented several features, like seat maps
and alerts, to enhance the ease of purchasing tickets.
16
Another strength of Ticketmaster is its customer service. Ticketmaster has a dedicated
customer service team that is available to assist customers with any issues or questions they
may have.
Ticketmaster's refund procedure for canceled events may be a weakness as it may
consume a considerable amount of time and be frustrating for customers. Customers may have
to navigate Ticketmaster's website or contact customer support to request a refund, which can
contribute to the inconvenience of the canceled event.
• EgoTickets
eGotickets is an online ticketing platform that enables customers to purchase tickets for
events and experiences. It provides a convenient way for customers to buy tickets from their
homes, while also assisting event organizers in managing ticket sales and attendance. Although
primarily used in African countries, such as Ghana, Nigeria, South Africa, and Kenya,
eGotickets is available for use in other regions too. The platform is widely used for ticketing
events at various venues in Ghana, including the Accra International Conference Centre, the
National Theatre, Fantasy Dome, and various stadiums (egoTickets, n.d). The homepage of
eGoTickets is displayed in Figure 2.2.
eGotickets is a user-friendly platform that simplifies event creation and management for
organizers, and ticket purchasing for customers. Along with the platform, eGotickets developed
Checkpoint, a mobile app that scans and validates tickets using Android or iOS devices, and
17
provides real-time attendance metrics. Additionally, eGotickets provides event organizers
access to event analytics and customer data that can be used to evaluate the success of an event
and make informed decisions for future events.
eGotickets is primarily used in African countries, which could limit its appeal to
customers and event organizers in other regions. This could be particularly problematic for
events that have an international audience or for event organizers who want to reach a wider
audience beyond their local area.
• Studhub
StubHub is a ticketing platform that provides ticket purchasing and resale services for
sports organisations. Sports fans can use StubHub to buy tickets for sports events, as well as
to sell tickets they no longer need. StubHub offers a wide range of tickets for sports events,
including football, basketball, baseball, and hockey games. Figure 2.3 displays the homepage
of StubHub.
18
Another strength of StubHub is its user-friendly interface and mobile app, which make it easy
for fans to search for and purchase tickets on the go.
One of the weaknesses of StubHub is that the platform does not offer refunds for tickets
that are purchased but not used. This means that if a buyer is unable to attend an event, they
will not be able to get a refund for their ticket.
19
Many important soccer leagues are using various applications to provide security in
stadiums. For example, soccer stadiums in England use closed-circuit television applications
for crowd management. At Leeds United stadium, police officers are stationed in a
windowless room with a series of video-monitors in front of them, controlling any part of the
stands with zoomable cameras. These measures have proven to be effective in ensuring the
safety of fans and preventing violent incidents (Eraslan et al, 2023).
Additionally, privacy is becoming increasingly important, and customers want to know
that their personal information is being protected. According to Eturan-Ogut (2020), fans in
Turkey were worried that the government could use the detailed personal information they
provided to the bank through the introduction of passolig (electronic ticketing system) to
blacklist them. To address this issue, governments and companies must be transparent about
how personal information is collected, used, and protected.
20
ticketing system, a customer relationship management system, a staff management system, a
facility maintenance system, a parking management system, and an analytics system. By
implementing this system, we aim to improve security, reduce wait times, enhance customer
experiences, and increase revenue for the stadium. We believe that our system will be a
significant improvement over the current system and will provide a better overall experience
for customers, staff, and management.
The ticketing system streamlines the process and enhances the customer experience.
Customers can purchase tickets online through a comprehensive ticketing system. They can
choose seats and access their tickets via a web application, without needing physical tickets.
The system ensures that only valid tickets are used for stadium access by validating them using
barcode scanning or other technologies. It provides customer support for ticketing issues,
including technical support and assistance with refunds and exchanges.
A CRM system can enhance customer engagement, loyalty, and satisfaction in stadium
management. The proposed system can maintain customer data, including contact information,
purchase history, and preferences, in a centralized database. It can also track customer
interactions and feedback to provide insights into customer behavior and preferences.
Our proposed system includes a facility maintenance application designed to help
facility managers and maintenance teams manage the maintenance of the stadium's buildings,
equipment, and assets. The system provides a centralised location to manage work orders,
schedule preventative maintenance, manage inventory, and generate reports. The system
tracks the maintenance history of assets, schedules routine maintenance, and generates
reports on asset performance.
The parking management feature includes a system for managing parking spaces and
permits. Only ticket holders can request a parking space. The system can prompt users to enter
their ticket ID before they can request a parking space. The system can then verify the ticket
ID and only allow access to the parking request feature if the ticket is valid. This can help
ensure that only fans who have purchased tickets can request parking spaces, which can help
prevent unauthorized parking and improve overall parking management.
Our proposed stadium management system will include an analytics system that
generates insights and predictions to help us make informed decisions about optimizing
stadium operations. The system will use data from various sources, such as ticket sales data, to
train machine learning algorithms and statistical models.
The proposed stadium management system includes a sign-up module that allows new
users to register for an account and a sign-in module that ensures only authorised users can
21
access the system. The homepage provides an overview of available events and allows users
to purchase tickets. Users can print tickets as PDFs, which is useful for generating hard copies
of tickets or distributing them to fans who prefer a physical copy. Additionally, the user
dashboard displays information such as the daily amount of money spent on tickets, which
helps users keep track of their spending and make informed decisions about future purchases.
Our stadium management system has a refund module that enables customers to get a
refund if an event is canceled. This feature ensures that customers do not incur financial losses
in case of event cancellation. By offering this service, we can foster trust and loyalty with our
customers, which can lead to increased revenue and repeat business.
Our proposed stadium management system categorises tickets based on the type of
event, such as sporting events, concerts, and comedy shows. This categorisation allows fans
to quickly and easily find tickets for the type of event they are interested in attending. By
providing clear and specific categories, we can improve the overall user experience and
increase ticket sales.
Our proposed stadium management system offers a search bar feature that enables users
to buy tickets. Users can enter specific keywords related to the event they want to attend, such
as the performer's name, team, or venue. This feature provides a quick and efficient way for
users to find and purchase tickets for their desired event.
Users of the system can edit their profile information within the system, which allows
them to update their personal information and preferences as needed. This feature ensures that
users can keep their profiles up-to-date and accurate, which can help to improve the overall
user experience.
The admin has control over user registration and authentication, event creation and
management, ticket sales, and customer support and assistance. Additionally, the admin can
assign roles to other users of the system, such as facility managers, cashiers, and other staff
members, to ensure that each user has the appropriate level of access and responsibility.
22
CHAPTER THREE
3.1 Overview
This chapter provides an overview of the process involved in designing the stadium
management system. The development of this system requires a systematic approach to ensure
that it meets the needs of its users and stakeholders. The chapter describes in detail the
procedures taken to design and develop the system, including the requirements-gathering
process, system analysis, and design. It also highlights the functional and non-functional
requirements of the system, covering both user and system requirements.
The primary objective of our project is to build a stadium management system that
enables stadium managers to manage stadium operations, including ticket sales, event
scheduling, and asset maintenance, efficiently and effectively. The system will provide users
with a user-friendly interface that is easy to navigate, while also ensuring that data is secure
and accessible only to authorized personnel. To achieve our project goal, we adopted an
iterative model. This model includes stages such as requirements gathering, system design,
implementation, testing, and maintenance. By the end of this chapter, readers will have a
comprehensive understanding of the design process for the stadium management system and
the key considerations that were taken into account.
3.1.1 Methodology
According to Ian (2016), there is no universal process model that is right for all kinds of
software development. The right process depends on a variety of factors, including customer
and regulatory requirements, the environment where the software will be used, and the type of
software being developed. There are various software process models, such as the Waterfall
model, the Agile model, and the Spiral model, each with its advantages and disadvantages.
The selection of the process model should be based on the project's specific needs and
requirements.
The Waterfall model is a linear, sequential approach that suits projects with well-defined
requirements. Agile is iterative and best for projects with changing requirements. Spiral is risk-
driven and ideal for large and complex projects. Software development is not a one-time event,
and the process model should be adjusted as the project progresses. The process model should
be reviewed and revised regularly to ensure that it is still meeting the project's needs and
23
requirements. The Iterative model is a cyclical approach that involves breaking the software
development process into smaller, more manageable pieces.
24
surveys, or focus groups to determine what features and functionality the system should
have, such as ticketing, facility management, and parking.
• Quick design: Quick design in the prototyping model requires creating a preliminary
system design based on the requirements collected during the requirements-gathering
phase. For a stadium management system, this would entail creating a preliminary system
design based on the requirements gathered from stakeholders. This process may involve
creating sketches or wireframes of the user interface and determining the data needed to
support the system.
• Building a prototype – This involves creating a functional version of the system based on
the requirements gathered during the requirements gathering phase and the quick design
phase. For a stadium management system, building a prototype would involve creating a
functional version of the system based on the wireframes and data requirements and
functionality such as ticketing, facility maintenance, parking, and other features. The
prototype would be tested to ensure that it meets the needs of stakeholders and can be
refined and improved as necessary. Once the prototype is finalized, it can be used as the
basis for building the final version of the system.
• Testing – Testing a prototype in the prototyping model involves evaluating the functional
version of the system created during the prototype phase to ensure that it meets the needs
of stakeholders. For a stadium management system, testing the prototype would involve
evaluating the features and functionality of the system, such as ticketing, facility
maintenance, parking, and other aspects, to ensure that they meet the needs of stakeholders.
• Refining - To refine the system, improvements are made based on feedback received
during the testing phase. For a stadium management system, this would involve refining
features and functionality, such as ticketing, facility maintenance, and parking, to meet
stakeholder needs. The prototype is improved as necessary based on feedback received
during testing. Once finalized, it is used as the basis for building the final version of the
system.
• Maintenance – In the case of a stadium management system, maintenance would involve
correcting any errors that were not discovered earlier, such as issues with ticketing or
facility management. It would also involve improving the implementation of system units,
such as making it easier for fans to purchase tickets or for event organizers to manage
parking. Additionally, maintenance would involve enhancing the system's services as new
requirements are discovered, such as adding new features to the system based on feedback
25
from stakeholders. This would ensure that the system continues to meet the needs of its
users and remains functional and reliable over time.
26
3.2.1 Functional Requirements
Functional requirements refer to the specific features and capabilities that the system
must have to perform its intended functions. These requirements describe what the system
should be able to do in order to support the stadium's operations and provide a positive
experience for fans and customers. The functional requirements for a stadium management
system include:
3.2.1.1 Admin
• User management: The admin should be able to create, modify, and delete user accounts.
• Event management: The admin should be able to create, modify, and delete events.
• Ticket management: The admin should be able to manage ticket inventory, set prices, and
track sales.
• Seating management: The admin should be able to manage seat availability.
• Parking management: The admin should be able to manage parking availability and
generate parking maps.
• Facility management: The admin should be able to manage physical assets and
infrastructure of the stadium, such as maintenance.
• Employment management: The admin should be able to manage employee data and track
employee attendance.
• Permission: The admin should be able to assign roles to other users on the system and also
ensure that every user has the appropriate level of access and permissions.
3.2.1.2 User
• User account creation: Users should be able to create an account on the system, providing
their name, email address, and other relevant information.
• Event browsing: Users should be able to browse upcoming events and view information
about each event, including date, time, location, and ticket prices.
• Ticket purchasing: Users should be able to purchase tickets for events, selecting the
number of tickets they want and the seating location (if applicable)
• Payment processing: Users should be able to pay for their tickets using a secure payment
system that accepts multiple forms of payment.
• Ticket delivery: Users should be able to receive their tickets via email or other digital
delivery method.
27
• Seat selection: If applicable, users should be able to select their seats from a seating chart
or similar interface.
• Parking reservation: Users should be able to reserve parking for events, selecting the
location and number of parking spots they need.
• Account management: Users should be able to view and modify their account information,
including their name, email address, and password. The Users should be able to view their
total amount of money spent on tickets and total amount of refunded tickets on the
dashboard.
• Support: Users should be able to contact customer support for help with any issues or
questions they have about the system or their tickets.
• Transaction History - The users should be able to view their entire ticket purchasing
history, including any booked parking spaces.
28
features, capabilities, and performance characteristics. System specification is an important
part of the system development process, as it ensures that all stakeholders have a clear
understanding of what the system is supposed to do and how it is supposed to do it.
29
Figure 3.2: Use case diagram for the user
30
Figure 3.3: Use case diagram for the admin and staff
31
Figure 3.4: Entity relationship diagram
32
3.4.2 Data flow diagram
A data-flow diagram is a way of representing a flow of data through a process or a system
(usually an information system). The DFD also provides information about the outputs and
inputs of each entity and the process itself. The data flow diagram for the system is typically
shown in Figure 3.1
33
Figure 3.6: Sequence diagram
34
3.5 System Architecture
Software architecture is a set of principles that define the way software is designed and
developed. Architecture defines the structure of the software system and how it is organized.
It also describes the relationships between components, levels of abstraction, and other aspects
of the software system. The system architecture for the system is typically shown in Figure 3.7
In a stadium management system, the web server acts as the initial point of contact for
customer, admin, and staff requests. These requests are then redirected to the appropriate
modules within the application server. The application server hosts modules such as ticketing,
parking, facility, event, and employee, each handling specific functionalities and business
logic.
35
CHAPTER FOUR
SYSTEM IMPLEMENTATION
4.1 Introduction
This chapter delves into the implementation phase of the Stadium Management System.
Implementation involves transforming the detailed design outlined in the previous chapter into
a functional program, along with its supporting activities. The primary objective is to create a
working program that meets the project's requirements. Developers encounter various
challenges during implementation, including integration, scalability, security, performance
optimization, user interface development, error handling, and efficient data management.
Successful execution relies on collaboration, coordination, and thorough testing. Once
implemented and tested, the system can be deployed to effectively manage stadium operations.
36
4.3 Technology used
The technology used in building the stadium management system includes Python,
Django, MySql, and JavaScript. These technologies work together seamlessly to provide
efficient management of various aspects.
4.3.1 Python
Python is chosen as the high-level programming language for building the stadium
management system due to its versatility and extensive library support. Python's simplicity and
readability make it easier to develop and maintain the system's codebase. Additionally, its wide
adoption in the tech industry ensures a large community of developers who can contribute to
the system's development and provide support. Python's compatibility with other technologies
allows for seamless integration with different components of the stadium management system,
making it a reliable and efficient choice for building such a complex system.
4.3.2 JavaScript
JavaScript is a programming language that is primarily used for adding interactivity and
dynamic features to web applications. In the context of the stadium management system,
JavaScript plays a crucial role in enabling the creation of dynamic and interactive user
interfaces. It allows for real-time updates, form validation, and handling user events, enhancing
the overall user experience. JavaScript's versatility and compatibility with different web
browsers make it an essential component for building modern and engaging web applications,
including the stadium management system.
4.3.3 MySQL
MySQL, on the other hand, is a relational database management system (RDBMS) that
is commonly used with web applications. It provides a structured way to store and retrieve data,
using tables with rows and columns. MySQL is known for its reliability, scalability, and
performance, making it a popular choice for many web applications, including the stadium
management system.
In the context of the stadium management system, MySQL would be used as the backend
database to store information about stadiums, events, ticket sales, and other relevant data. It
would handle tasks such as creating tables, inserting, updating, and retrieving data, and
optimizing queries for efficient data retrieval.
37
4.3.4 Django
Django is a widely used Python web framework that follows the model-view-controller
(MVC) architectural pattern. MVC is a design pattern that separates an application into three
interconnected components: the model, the view, and the controller.
In the context of the stadium management system, Django's MVC structure allows for
efficient handling of user authentication, database management, and HTTP requests. It
simplifies development by providing pre-built components and promoting code reusability.
With Django, developers can create secure and efficient web applications, making it an ideal
choice for building the stadium management system. Figure 4.1 displays the diagram of MVC.
• The model represents the data and the business logic of the application. It handles data
storage, retrieval, and manipulation.
• The view is responsible for presenting the data to the user and receiving user input. It
provides the user interface and interacts with the model to display and update data.
• The controller acts as an intermediary between the model and the view. It processes user
input, updates the model, and communicates with the view to reflect changes in the user
interface.
38
4.4.1 Login pages
In Figure 4.2, the login page of the system is displayed. The login page is the initial entry
point for users to access the system. It typically includes input fields for users to enter their
credentials, such as a username and password. The login page ensures that only authorized
users can access the system, providing a layer of security. It also includes options for password
recovery and account creation for new users. The login page for the super admin is displayed
in Figure 4.3. The signup page of the system is displayed in Figure 4.4
39
Figure 4.4 Signup page for user
40
Figure 4.6: Available events in sports category
41
Figure 4.8: Payment page
• Account management - This includes tasks such as creating an account, updating personal
information, changing passwords, and managing preferences. Account management
ensures that users can easily access and modify their account details as needed. Figure 4.10
shows the interface where users can access and manage their personal information.
42
Figure 4.10: Customer access personal information
• Transaction history – In Figure 4.11, the transaction history feature allows customers
to view the details of their ticket purchases. It shows a record of their past transactions,
including date, time, action, and status. This helps customers keep track of their
ticketing activities and provides a convenient way to review their purchase history.
43
• Dashboard - In Figure 4.12, the customer dashboard displays the total number of
tickets purchased as well as the total number of ticket refunds.
• Parking space - In Figure 4.13, the interface allows customers who have purchased a
ticket to select their desired parking space. To reserve a parking space, customers need
to enter their ticket ID. This feature ensures that only valid ticket holders can reserve a
parking spot, providing a secure and convenient parking experience.
44
• Event search - Event search is a feature that allows customers to find specific events
based on their preferences. Figure 4.14 showcases the event search feature designed
specifically for customers. It provides an intuitive interface to easily search for events.
45
4.4.2 Super Admin Panel
The super admin in the stadium management system is like the top-level administrator.
They have access to all the features in the system, and they have even more features than the
regular admin. Some of these extra features can only be accessed by the super admin. Some of
the features accessible only to the super admin include:
• Authentication and Authorization - Authentication verifies the identity of a user, while
authorization controls their access to features and tasks. One way to achieve this is by
creating groups and assigning permissions to them. In Figure 4.16, you can see the interface
that displays the groups created by the super-admin, the available permissions, and the
chosen permissions for each group. This allows different groups to have access to specific
features and perform tasks within the system.
• Users - The super admin can view the total number of users on the system, which includes
both customers and staff. Figure 4.17 displays the total number of customers, while Figure
4.18 displays the total number of staff members. These figures help the super admin track
the user base and system growth.
46
Figure 4.18: Total number of staff numbers
• Audit log - The audit log is a record of events and actions within a system. In Figure
4.19, it shows the recent actions that occurred within the system. The audit log captures
important information about user activity and system events.
47
• Dashboard - The admin interface dashboard shows the total number of users, total
ticket sales, and new sales. Figure 4.20 displays this dashboard.
• Event management - The staff can add events to the system. Figure 4.21 displays the
interface they use to add events, while Figure 4.22 shows the list of events that have
been added by the staff. It's a handy way for the staff to manage and keep track of all
the events
48
Figure 4.22 List of events
• Ticket management - The staff members can handle various tasks related to ticket
management, including ticket sales, ticket inventory management, and even ticket
refunds. The interface displayed in Figure 4.23 provides a clear overview of ticket sales
and allows staff to easily track customer purchases.
• Parking management - The staff members can oversee and manage parking
operations, including assigning parking spaces, and tracking availability. Figure 4.24
displays events in the stadium management system with the parking spaces created.
49
This feature allows the staff to efficiently manage parking operations by assigning
designated parking spaces for attendees. Figure 4.25 displays the interface for adding a
parking lot.
• Assets - The staff can add assets for the stadium. Check out Figure 4.26 to see the
interface that shows these stadium assets. Figure 4.27 displays the interface where the
staff adds assets to the stadium.
50
Figure 2.26: Stadium assets
• Maintenance - The staff can schedule maintenance for the added asset. Figure 2.28
displays the interface of the scheduled maintenance of the asset with a dashboard of
completed tasks, works in progress, and pending tasks. Figure 4.29 displays the
interface where the staff schedules maintenance of the assets
51
Figure 2.28: Schedule maintenance dashboard
52
Figure 2.30: Tickets refund
4.5 Testing
Testing plays a crucial role in ensuring that a program functions as intended and helps
identify any defects before it is deployed for actual use (Ian, 2016). The two main goals of
testing are to confirm that a program performs its intended functionality and to uncover any
defects or issues before it is implemented.
53
verifying the communication and functionality between these modules, integration
testing ensures that they work together seamlessly, providing a smooth and reliable
experience for event management and refund processing.
• System testing – System testing is the process of evaluating the entire system as a
whole to ensure that it meets the specified requirements and functions correctly. For
example, in a stadium management system, system testing checks if tickets are issued
and validated correctly, events are scheduled and managed properly, refund requests
are processed accurately, and maintenance tasks are executed effectively. By doing
system testing, we ensure that all the modules work together smoothly, meeting the
requirements and providing a reliable stadium management system.
54
10. Add / edit / delete asset Asset01 True
55
CHAPTER FIVE
56
• Lack of domain expertise - One of the problems encountered during the development of
the stadium management system was a lack of domain expertise in the ticketing systems,
event management, facility management, and other related aspects. To tackle this
challenge, we conducted interviews, observations, and surveys to gather requirements from
both stadium attendees and individuals with expertise in the specific domain. This allowed
us to gain a comprehensive understanding of the unique requirements and complexities
involved in managing a stadium.
57
REFERENCES
1. Alan, D., Janet, F., & Russel, B. (2004) Human Computer Interaction. 3rd edn. Edinburg,
Pearson
2. Caulfield, J., & Jha, A. K. (2022). Stadiums and Digitalization: An Exploratory Study of
Digitalization in Sports Stadiums. Journal of Decision Systems, 31(S1), 331–340.
https://doi.org/10.1080/12460125.2022.2073629
3. Çakmak, G., & Çiftçi, S. (2021). Football Fans’ Views on the Passolig E-Ticket System
and the Decrease in Stadium Attendance: The Case of the Turkish Football Super League.
Physical Culture and Sport, Studies and Research, 92(1), 9–18.
https://doi.org/10.2478/pcssr-2021-0021
4. CAF, (2019) Safety and Security Regulations. Available at:
https://images.cafonline.com/image/upload/caf-prd/gqu2gsesganyqrgco3b0.pdf
5. CitiTube (2019) gives journalists tour of their club and facilities. July. Available at:
https://youtu.be/DH8ru5vccdc (Accessed: 10 May 2023)
6. Chub, A. N., & Kreizer, I. I. (2020). Principles of reconstruction of multifunctional
stadiums on the example of the Kiev stadium of CSC Armed Forces of Ukraine. IOP
Conference Series: Materials Science and Engineering, 907(1).
https://doi.org/10.1088/1757-899X/907/1/012066
7. Chen, Y., Sylvester, A. P. F., Bonsu, M. O.-A., & Minkah, A. Y. (2018). Practice of
Maintenance Management of Infrastructures on Sports Stadia in Ghana. Journal of Public
Administration and Governance, 8(4), 250. https://doi.org/10.5296/jpag.v8i4.14064
8. Dipanjan, S. (2017) Text Analytics with Phython.1st edn. Bangalore, Karnataka
58
How-making-ticketing-easy-for-Ghana-vs-Nigeria-game-enhanced-fans-participation-
1529231 (Accessed: 8 July 2023)
13. Ghosal, S., Chaturvedi, S., Taywade, A., & Jaisankar, N. (2015). Android Application for
Ticket Booking and Ticket Checking in Suburban Railways. Indian Journal of Science
and Technology, 8(S2), 171. https://doi.org/10.17485/ijst/2015/v8is2/60291
14. Glebova, E., & Desbordes, M. (2020). Technology Enhanced Sports Spectators Customer
Experiences: Measuring and Identifying Impact of Mobile Applications on Sports
Spectators Customer Experiences. Athens Journal Of Sports, 7(2), 115–140.
https://doi.org/10.30958/ajspo.7-2-3
15. Global Sports Innovation Center (2019) Digital Transformation of Sports Entities by 2025.
Available at: https://sport-gsic.com/wp-content/uploads/2019/07/GSIC-Report-Digital-
Transformation-of-Sports-Entitites-by-2025-VL.pdf (Accessed: 7 July 2023)
16. Ian. S. (2016) Software Engineering. 10th edn. Edinburgh Gate:Pearson Educational
Limited
17. Intel (2016) ‘Smart Stadiums Take the lead in Profitability, Fan Experience and Security.
Available at: https://cdrdv2-public.intel.com/612622/iot-smart-stadiums-brief.pdf
18. Jin, S and Lyu, S. O. (2019) Using a discrete choice experiment to estimate spectators’
willingness to pay for professional baseball park sportscape,
Sport Management Review Journal, 22(4) ,502-5112. doi:
http://10.1016/j.smr.2018.06.009
19. Kameli, M., Javad, M, S., & Mujtaba, H. (2019). An Application Framework for
BIM/RFID-Based Maintenance Management System Development: Case Study of a
Stadium Building. Canadian Journal of Civil Engineering. doi: 10.1139/cjce-2019-0107
20. KofiTv (2022) Two Nigerians Arrested Over Fake Ticket at Baba Yara Sports Stadium.
March. Available at: https://youtu.be/EXTYwJ6XJKo (Accessed: 5 May 2023)
21. Laudon, C. K. and Laudon, J. P. (2016) Management in Information System, Edinburgh.
14th edn. Edinburgh: Pearson.
22. Lee, M., Potter, R. F., & Pedersen, P. M. (2019). The effects of emotions on cognitive
effort while processing mediated stadium-embedded advertising: A dynamic motivational
systems approach. European Sport Management Quarterly, 19(5), 605–624.
https://doi.org/10.1080/16184742.2018.1562483
23. Lee, M., Tuchman, D., & Arner, E. (2022). Single vs. Multiple Signage: Applying
Limited Capacity Message Processing to Fan 2019;s Recognition and Recall of In-
59
stadium Advertising. International Journal of Human Movement Science, 16(1), 19–28.
https://doi.org/10.23949/ijhms.2022.04.16.1.2
24. Li, S. (2023). Development of Intelligent Sports Stadium System Based on Internet of
Things Technology. In Proceedings of the 2022 2nd International Conference on
Computer Technology and Media Convergence Design (CTMCD 2022) (pp. 570–576).
Atlantis Press International BV. https://doi.org/10.2991/978-94-6463-046-6_67
25. Mahdi, M. J., Aljuboori, A. F., & Hussein Ali, M. (2021). Smart Stadium using Cloud
Computing and Internet of Things (IoT): Existing and New Models. International Journal
of Computer Applications Technology and Research, 10(05), 111–118.
https://doi.org/10.7753/ijcatr1005.1002
26. Narkotu, T.P. (2020) Ghana Premier League Report. Accra. Available at:
https://ascafro.com/wp-content/uploads/2021/03/2020-ASC-Ghana-Premier-League-
Report1.pdf
27. Narimani, A., Moosavi, R, T. & Keshavarv, L. (2017). Ranking the spectators
difficulties in purchasing electronic tickets of football premier league matches at Azadi
Stadium, Iran, 4(1), pp.9-15. Available at:
https://dergipark.org.tr/en/pub/sbsebd/issue/31663/347137>
28. Nugraha, A., Daniel, D. R., & Utama, A. A. G. S. (2021). Improving multi-sport event
ticketing accounting information system design through implementing RFID and
blockchain technologies within COVID-19 health protocols. Heliyon, 7(10).
https://doi.org/10.1016/j.heliyon.2021.e08167
29. Rashid, A., & Chaturvedi, A. (2019). Cloud Computing Characteristics and Services A
Brief Review. International Journal of Computer Sciences and Engineering, 7(2), 421–
426. https://doi.org/10.26438/ijcse/v7i2.421426
30. Sandeep, B. (2017) Cloud Computing. Delhi, Cambridge
31. Satinder, B. G. and Aditya, M. (2017) Introduction to Database Management System. 2nd
edn. Delhi, Laxmi
32. Schreyer, D. and Ansari, P. (2022) ‘Stadium Attendance Demand Research: A Scoping
Review’, Journal of Sports Economics, 23(6), pp. 749–788. Available at:
https://doi.org/10.1177/15270025211000404.
33. Schut, P. O., & Glebova, E. (2022). Sports Spectating in Connected Stadiums: Mobile
Application Roland Garros 2018. Frontiers in Sports and Active Living, 4.
https://doi.org/10.3389/fspor.2022.802852
60
34. SmartDublin. (2016). Croke park stadium. Available at https://smartdublin.ie/croke-
park-smart-stadium/
35. Sports Tech Innovation in the Start-up Nation Technology Trends in the Sports Market
Mapping Israel’s Sports Tech Start-ups. (2017).
36. Studhub (n.d.) [Screenshot of Studbub homepage]. Available at:
https://www.stubhub.com/?from=1688969910689&to=253402300800000&lat=NS42MD
Q%3D&lon=LTAuMTg3 (Accessed 25 June 2023 )
37. TicketMaster (n.d.) [Screenshot of Ticketmaster homepage]. Available at:
https://www.ticketmaster.com (Accessed 25 June 2023 )
38. Xu, C., Yan, L. and Zhang, J. (2022) ‘Research on a Complete Set of Sports Stadium
Projects Assisted by China and Africa’, OALib, 09(07), pp. 1–13. Available at:
https://doi.org/10.4236/oalib.1109053.
39. Yilmaz, O., Easley, R. F., & Ferguson, M. (2022). The Future of Sports Ticketing:
Technologies, Data, and New Strategies. SSRN Electronic Journal.
https://doi.org/10.2139/ssrn.4260366
40. Yusuf, A. O., Akinwusi, A. T., & Morakinyo, E. O. (n.d.). European Journal of Physical
Education and Sport Science, Examining the level Stadium Security and Safety During
Nigeria Professional Football League, https://doi.org/10.5281/zenodo.3627967
61
Appendix A: Installation guide and System Requirements
The guide includes the necessary hardware and software requirements to run the system
accurately. It also provides a step-by-step walkthrough on how to install the necessary software
to run the system properly. The following steps outline the installation process:
62
Step 3: Open the command line interface and start the backend server
The backend server is a part of a software application that handles the processing and
storage of data. It typically runs on a remote server and communicates with the frontend of the
application, which is what users interact with. To start the backend server, open the command
line interface and run the following command.
a. Moving up a directory - Navigate to the parent directory by using the command "cd .."
This will move you up one level in the directory structure.
b. Navigate to a folder - To navigate to a specific folder using the "cd" command, you need
to type "cd" followed by the path of the folder.
c. System directory change: After you navigate to the specific folder, you can use the "cd"
command followed by the path to change the directory where the stadium management
system files are stored. For example, if you want to navigate to the stadium management
system folder shown in Figure A.3, you can use the command "cd stadium_ms-main".
d. Navigate to the backend folder - The next step is to change the directory to the "backend"
folder using the command "cd backend". In the interface shown in Figure A.4, there are
two folders: "backend" and "frontend". To access the "backend" folder, simply type "cd
backend".
e. Activate virtual environment - To activate the virtual environment, you can open the
command prompt and type "venv\Scripts\activate.bat". In Figure A.5, the "venv" folder
contains all the essential files and dependencies needed to create an isolated environment.
f. Changing directory to api folder – To change the directory to the "api" folder, simply
type "cd api" in the command prompt. Figure A.5 displays the api folder situated in the
backend directory.
g. Installing dependencies- To install the necessary dependencies, just run the command "pip
install -r requirements.txt".
h. Starting Django server - To start the Django development server, simply run the
command "python manage.py runserver". This will launch the server and make your
application accessible at a local address. In Figure A.6, the interface shows that the Django
server has started with the URL http://127.0.0.1:8000, which can be accessed locally in a
web browser. In Figure A.7, the command prompt is shown with the commands entered to
start the backend server.
63
Step 4: Open the command line interface and start the frontend server
The frontend server is part of a software application that is responsible for showing users
the application interface and handling their interactions. It works hand in hand with the backend
server, which takes care of data processing and storage.
To start the frontend server, simply follow the commands listed in step 3 (a to c) for the
backend server. Once you have completed those steps, you can move on to the following
commands to start the frontend server.
a. Navigate to the backend folder - The next step is to change the directory to the "frontend"
folder using the command "cd frontend". In the interface shown in Figure A.4, there are
two folders: "backend" and "frontend". To access the "frontend" folder, simply type "cd
frontend".
b. Start development server - The command "npm run dev" is used to start the development
server for the project. It runs the specified script defined in the package.json file with the
name "dev". In Figure A.8, the command prompt interface is displayed, showing the
frontend server being started. To access the server, you can use the URL:
https://localhost:3000.
64
Figure A.4: backend and frontend folders
65
Figure A.6: Starting Django server
66
Figure A.8: Starting the frontend server using command prompt
67
Appendix B: Test Cases
• Creating Account
Test case ID: CreateAccount01
Test Title: Account Creation
Test Priority: High
Purpose: To verify that users can successfully create an account in the system
Figure B.1 below illustrates the page where the user has successfully created their
account, and the system has displayed a notification confirming the account creation.
68
Figure B.1: Account created successfully
• Login
Test case ID: Login01
Test Title: Account Login
Test Priority: High
Purpose: To verify that users can successfully login to the system
Step Description Test Data Expected Actual
Results Results
1 Go to the login page Load the login True
page
2 Enter your email Email:
address Samueloppong123@gmail
.com
3 Enter your password Password: ********
69
Test case ID: Login02
Test Title: Account Login
Test Priority: High
Purpose: To verify login with username and password
Step Description Test Data Expected Actual
Results Results
1 Go to the login page Load the login True
page
2 Enter your email Email:
address Samueloppong123@gmail
.com
3 Enter your password Password: ********
Figure B.2 below illustrates the page where the user has logged into the system with invalid
credentials, and the system displays an error message.
70
• Assign Permission to staff
Test case ID: Permission01
Test Title: Assign Permission to staff
Test Priority: High
Purpose: To ensure that the system correctly and accurately assigns the appropriate
permission to staff members.
Step Description Test Data Expected Actual
Results Results
1 Login to the system Username and password Admin page True
as an admin
2 Navigate to
authentication and
authorization
3 Click on the “create
group’’ button to
create new group
4 Specify the The system will True
permissions that show an error
should be added to message
the group
5 Select the staff
members you want to
add to the group
Table B.4: Test case – Permission01
• Add a user
Test case ID: User01
Test Title: Add user to the system
Test Priority: High
Test purpose : To verify that user can be successfully added to the system, allowing
them to access and use system functionalities.
71
Step Description Test Data Expected Actual
Results Results
1 Login to the system Username and password Admin page True
as an admin
2 Navigate to Users
72
Figure B.3 below illustrates the page where the admin can edit user account information.
• Add event
Test case ID: event01
Test Title: Add event to the system
Test Priority: Medium
Purpose: To verify that the "add event" functionality successfully adds an event to the
system.
73
enter event
details.
4 Enter the event Title, Price, Capacity, Event
details type, location, image, and
description of the event
5 Click on add event Event being True
successfully
added to the
system
Table B.7: Test case – event01
• Process Refund
Test case ID: refund01
Test Title: Process Refund
Test Priority: High
Test purpose : To verify that the refund process is functioning correctly and successfully
processes refunds for customers.
Step Description Test Data Expected Actual
Results Results
1 Login to the system as a Username and password Admin page True
staff member
2 Navigate to refund
74
• Create parking lot
Test case ID: parkinglot01
Test Title: Creating parking lot
Test Priority: Medium
Test purpose : To verify that the system successfully creates a new parking lot
Step Description Test Data Expected Actual
Results Results
1 Login to the system Username and password Staff page will True
as a staff member be displayed
2 Navigate to parking
lot
3 Click on create
parking lot button
4 Provide necessary Parking lot name, location, True
details for parking lot
and capacity
5 Click on save Parking lot has True
been created
successfully
Table B.9: Test case – parkinglot01
• Add asset
Test case ID: asset01
Test Title: Add Stadium asset
Test Priority: Medium
Test purpose : To verify the system successfully add asset to the database
Step Description Test Data Expected Actual
Results Results
1 Login to the system Username and password Staff page will True
as a staff member be displayed
2 Navigate to asset
75
4 Click on save Asset has been True
added
successfully
Table B.10: Test case – asset01
76
Appendix C: Sample Source Codes
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
77
'NAME': BASE_DIR / 'db.sqlite3',
Password Validation
AUTH_PASSWORD_VALIDATORS = [
'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
},
'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
},
'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
},
'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
},
class UserAPIView(generics.ListAPIView):
queryset = User.objects.all().order_by('-id')
serializer_class = UserSerializer
78
Update and delete user API
class UserUpdateAPIView(generics.RetrieveUpdateDestroyAPIView):
queryset = User.objects.all()
serializer_class = UserSerializer
lookup_field = 'id'
Event API
class EventAPIView(generics.ListCreateAPIView):
queryset = Event.objects.all().order_by('-id')
serializer_class = EventSerializer
renderer_classes = (JSONRenderer,)
serializer = EventSerializer(data=request.data)
if serializer.is_valid():
serializer.save()
class EventDetailAPIView(generics.RetrieveDestroyAPIView):
queryset = Event.objects.all()
serializer_class = EventSerializer
lookup_field = 'id'
79
Update Event
class UpdateEvent(views.APIView):
queryset = Event.objects.all()
serializer_class = EventSerializer
event = Event.objects.filter(id=id).first()
if event is None:
if serializer.is_valid():
serializer.save()
class TicketAPIView(views.APIView):
tickets = Ticket.objects.filter(is_refund=False).order_by('-id')
refund = Refund.objects.filter(is_paid=True)
transactions = Transaction.objects.all()
total_account = 0
80
for transaction in transactions:
total_account += transaction.amount
tickets_sales = 0
tickets_sales += ticket.total
tickets_refund = 0
tickets_refund += refund.amount
context = {
'total_account': total_account,
'tickets_sales': tickets_sales,
'tickets_refund': tickets_refund,
Refund API
class RefundAPIView(views.APIView):
queryset = Refund.objects.all().order_by('-id')
refunds = Refund.objects.all().order_by('-id')
total_amount = 0
pending_amount = refunds.filter(is_paid=False).count()
81
total_amount += refund.amount
context = {
'total_amount': total_amount,
'pending_amount': pending_amount,
class UpdateRefundAPIView(generics.UpdateAPIView):
queryset = Refund.objects.all()
serializer_class = RefundSerializer
lookup_field = 'id'
class PayRefund(views.APIView):
refund = Refund.objects.get(id=id)
refund.is_paid = True
refund.save()
Parking API
class ParkingLotAPIView(generics.ListCreateAPIView):
queryset = ParkingLot.objects.all().order_by('id')
serializer_class = ParkingLotSerializer
filter_backends = [DjangoFilterBackend]
82
filterset_fields = ['event id']
class ParkingLotDetailAPIView(generics.RetrieveDestroyAPIView):
queryset = ParkingLot.objects.all()
serializer_class = ParkingLotSerializer
lookup_field = 'id'
class UpdatePqrkingLotAPIView(views.APIView):
queryset = ParkingLot.objects.all()
parking_lot = ParkingLot.objects.filter(id=id).first()
if parking_lot is None:
user = User.objects.filter(id=request.data['user']).first()
if user is None:
parking_lot.user = user
parking_lot.is_booked = True
parking_lot.save()
serializer = ParkingLotSerializer(parking_lot)
83
Asset API
class AssetAPIView(generics.ListCreateAPIView):
queryset = Asset.objects.all().order_by('-id')
serializer_class = AssetSerializer
class AssetDetailAPIView(generics.RetrieveUpdateAPIView):
queryset = Asset.objects.all()
serializer_class = AssetSerializer
lookup_field = 'id'
class MaintanceAPIView(generics.ListAPIView):
queryset = Maintainace.objects.all().order_by('-id')
serializer_class = MaintanceSerializer
class MaintenaceCount(views.APIView):
maintainaces = Maintainace.objects.all()
pending = maintainaces.filter(status='Pending').count()
completed = maintainaces.filter(status='Completed').count()
context = {
'pending': pending,
'completed': completed,
'progress': progress,
class MaintanceDetailAPIView(generics.UpdateAPIView):
84
queryset = Maintainace.objects.all()
serializer_class = MaintanceSerializer
lookup_field = 'id'
85
Appendix D: User Evaluation
Questionnaire
2. How easy was it to navigate through the different features and functionalities of the system?
a) Very easy
b) Somewhat easy
c) Neutral
d) Somewhat difficult
e) Very difficult
3. Did you encounter any technical issues or glitches while using the system?
a) No, it worked smoothly without any issues.
b) There were a few minor glitches, but nothing major.
c) Neutral
d) Yes, there were significant technical issues that affected my experience.
e) The system was completely unusable due to technical issues.
4. How responsive and helpful was the customer support provided for the stadium management
system?
a) Very responsive and helpful.
b) Somewhat responsive and helpful.
c) Neutral
d) Not very responsive or helpful.
e) No customer support was available.
5. How well did the system handle ticket sales and revenue management?
a) Very well, it streamlined the ticket sales process and revenue tracking.
b) It was satisfactory, but there were some areas for improvement.
86
c) Neutral
d) It had some difficulties in managing ticket sales and revenue.
e) Poorly, the system was ineffective in handling ticket sales and revenue.
6. Were you able to easily access and manage information related to events, tickets, and
facilities ?
a) Yes, it was straightforward and convenient to access and manage the information.
b) It was somewhat easy, but there were a few challenges.
c) Neutral
d) It was difficult to access and manage the information effectively.
e) No, the system did not help access and manage event-related information.
8. Did you find the stadium management system to be responsive and fast in terms of loading
times?
a) Yes, it was very responsive and fast.
b) It was mostly responsive and fast.
c) It was average in terms of responsiveness and loading times.
d) It was somewhat slow and unresponsive.
e) No, it was very slow and unresponsive.
10. How would you rate the overall user interface of the stadium management system?
a) Excellent
87
b) Good
c) Average
d) Poor
Evaluation Results
a) b) c) d) e)
Q1 3 1
Q2 2 2
Q3 2 2
Q4 1 1 2
Q5 4
Q6 3 1
Q7 3 1
Q8 1 3
Q9 2 2
Q10 1 3
88