output_2
output_2
To my beloved Mother,
who is not only the reason for my existence but also the guiding light that
brightens my path, showering me with affection and love.
To my dearest father,
whose unwavering presence by my side, countless sacrifices, and
invaluable advice have shown me the way.
To my cherished Brother,
with whom I have shared and continue to share countless moments of joy
and happiness.
To all those who hold a special place in my heart, and to those who
deserve my heartfelt gratitude.
Yahya
i
Acknowledgements
Upon the completion of my work, I would like to express my gratitude to all those indi-
viduals whose invaluable assistance made this project possible.
I extend my sincere thanks to the entire staff at SW Consulting, as well as the Ecole
Polytechnique Sousse team, for their unwavering support and contribution to my training.
Lastly, I would like to express my gratitude to the members of the jury for their
honorable evaluation of my project. I hope that this report reflects the qualities of clarity
and motivation that they seek.
ii
Contents
List of Figures vi
List of Acronyms ix
GENERAL INTRODUCTION 1
II Specification of requirements 11
II.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
II.2 Requirements Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . 12
II.2.1 Identification of the actors . . . . . . . . . . . . . . . . . . . . . . . 12
II.2.2 Functional Requirements Specifications . . . . . . . . . . . . . . . . 12
II.2.3 Non-Functional Requirements Specification . . . . . . . . . . . . . . 13
II.3 Project management with Scrum . . . . . . . . . . . . . . . . . . . . . . . 14
II.3.1 Team and role . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
II.3.2 Scrum Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
II.4 The Product Backlog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
II.5 Overall use case diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
iii
Contents Contents
iv
Contents Contents
GENERAL CONCLUSION 55
PERSPECTIVES 57
Bibliography 58
v
List of Figures
vi
List of Figures List of Figures
vii
List of Tables
viii
Acronyms
ix
GENERAL INTRODUCTION
In the realm of dining establishments, the landscape is dynamic and fiercely competitive.
Modern restaurants must do more than merely adopt the latest culinary trends; they must
navigate intricate operational challenges to thrive. Efficiency, quality, and profitability
are paramount in this landscape, necessitating a nuanced understanding of restaurant
operations and a keen insight into critical processes.
At the heart of the RMP lies a suite of features designed to simplify and automate
various aspects of restaurant management. From menu creation and inventory tracking
to table allocation and staff scheduling, every facet of restaurant operations is metic-
ulously addressed. Real-time analytics further bolster decision-making capabilities, en-
abling restaurant stakeholders to make informed choices that drive business growth.
1
GENERAL INTRODUCTION
Aligned with the principles of Agile methodology, particularly the Scrum framework,
this project unfolds across multiple chapters. Each chapter delves into a distinct aspect
of the project, from the analysis phase and technology stack selection to sprint planning
and module development. Through a systematic approach guided by Agile principles, we
aim to deliver a robust and user-centric Restaurant Management Platform tailored to the
needs of today’s restaurateurs
2
Chapter I
3
General Presentation of the Project
I.1 Introduction
The aim of this chapter is to put the project in its general framework, namely the
welcoming company. Subsequently, we will continue to study the existing by specifying
these limits and then we will propose the appropriate solution to deal with these limits.
Finally, we will present the used development methodology.
• Consulting Services
Page 4
General Presentation of the Project
Page 5
General Presentation of the Project
platform features a user-friendly interface that allows customers to place orders seamlessly
through QR menus, complete with advanced filtering options for maximum customization.
• User-Friendly Interface:
• QR Menu Ordering:
Customers can easily access the menu and place orders by scanning QR codes at
their tables.
• Feedback Mechanism:
Enables customers to provide feedback on their dining experience, facilitating con-
tinuous improvement and enhanced customer satisfaction.
Page 6
General Presentation of the Project
• Scrum (1996)
• Rapid Application Développent (RAD, 1991)
• Adaptive Software Développement (ASD, 2000)
• Test Drivent Développement (TDD, 2002)
• Crystal Clédar(2004)
Page 7
General Presentation of the Project
• Client part: consists in the realization of the various interfaces of the application
and their display.
• Server part: it allows the insertion, the consultation of data and the update of
the client application.
• Model:
This is a collection of operations and interactions with the database that illustrates
how the application behaves. It contains all of the access methods and classes that
explain the data that the application manipulates.
• View:
This describes the user interface that the user works with. Although there is no
presentation in the returned results, the views do support the findings. The infor-
mation of a single model can be shown in multiple views. The view only shows the
outcomes of the processing carried out by the model, doing no additional processing,
giving the user
• Controller:
Managing synchronization events to update the model or view is the responsibility
of the controller. It examines the client’s request, makes no modifications to any
data, and just makes the necessary calls.
model and gives the request’s corresponding view back.
Page 8
General Presentation of the Project
I.8 Conclusion
In conclusion, the development of the innovative restaurant management platform rep-
resents a significant step forward in addressing the challenges faced by the restaurant
industry. By leveraging technology to streamline operations and enhance customer expe-
rience, the platform offers a modern solution that prioritizes efficiency, convenience, and
customization. Through features such as QR menu ordering, advanced filtering options,
secure payment systems, and feedback mechanisms, the platform not only improves op-
erational efficiency but also fosters continuous improvement and customer satisfaction.
Furthermore, the agile development methodology ensures adaptability to evolving market
Page 9
General Presentation of the Project
needs and effective collaboration within the project team. Overall, this project marks
a milestone in the evolution of restaurant management, providing a blueprint for fu-
ture technological solutions that aim to transform the industry towards a more efficient,
customer-centric, and digitally-driven landscape.
Page 10
Chapter II
Specification of requirements
11
Specification of requirements
II.1 Introduction
In the previous chapter, we chose to adopt Scrum as the working methodology for our
program. In fact, the first phase is preparing the plan and the architecture. This step is
the most important one in the Scrum development cycle since it directly influences the
success of the sprints. The work done in this period of time leads to build a good vision,
identify the users’ roles and define the main features in order to produce the initial backlog
and an initial sprint. In addition, we will define the tools chosen for the realization of
the application. At this level, we specify the context of our application. We identify
the working platforms, the technologies used and the different application components
developed
• Prior Authentication: Users log in with their personal credentials before access-
ing the client interface for a personalized and secure experience.
• QR Code Scanning and Dynamic Menu Viewing: Clients activate the ap-
plication by scanning the QR code at the restaurant entrance. They interactively
view the menu, with an AI chatbot providing recommendations.
Page 12
Specification of requirements
• Payment Interface with Advanced Options: Selected items and total are dis-
played. Users choose the payment method (cash, credit card, online).
Interface Admin
Interface Manager
• Order Reception and Processing: The manager receives orders on his interface,
processes payments, and manages table assignments. He has access to order details,
payment options, and table status updates. Additionally, the manager can add QR
codes to each table, enhancing the dining experience by allowing customers to place
orders and make payments directly from their devices.
These are the functionalities of the system. These are the requirements specifying the
input/output behavior of the system. The functional requirements of the application are
represented as follows in the table
• Performance: The response time must be as short as possible and the application
must be always functional
• Security: Ensure the level of reliability of the software through authenticated access
by entering a login and password
Page 13
Specification of requirements
• Product Owner:
Responsible for maximizing the value of the product resulting from the work of the
development team. Manages the product backlog by prioritizing features, enhance-
ments, and bug fixes based on stakeholder needs and the product vision.
• Scrum Master:
Acts as a facilitator for the Scrum team. Ensures that the team follows Scrum
practices and values. Helps resolve obstacles that may prevent the team from pro-
gressing. Facilitates Scrum events such as Sprint planning meetings, daily stand-ups,
Sprint reviews, and retrospectives.
• Development Team:
Composed of professionals who work together to deliver product increments. Self-
organizing and cross-functional, including developers, testers, designers, and other
technical experts. Responsible for self-organizing and completing the work needed
to achieve the Sprint goals.
Page 14
Specification of requirements
3. Sprint Review:
A meeting at the end of each Sprint where the team presents what has been accom-
plished during the Sprint to stakeholders and gathers feedback.
4. Sprint Retrospective:
A meeting at the end of each Sprint to reflect on the team’s process and identify
improvements for the next Sprint.
Page 15
Specification of requirements
Page 16
Specification of requirements
Page 17
Specification of requirements
Page 18
Specification of requirements
• Payment Integration: Stripe is integrated into the application for payment pro-
cessing. It enables secure and seamless payment transactions, allowing users to
make payments using credit cards or other supported payment methods. Stripe’s
robust API, developer-friendly documentation, and support for various currencies
and payment methods make it a popular choice for handling online payments[4].
• Code Editor: Visual Studio Code (VS Code) is the primary code editor used for
this project. It offers a rich set of features, including syntax highlighting, code
completion, and debugging capabilities, making it an ideal choice for efficient devel-
opment. VS Code also supports a wide range of extensions, allowing developers to
customize their development environment according to their needs [6].
Page 19
Specification of requirements
• Version Control: Git is utilized for version control, enabling collaborative devel-
opment and allowing developers to track changes, manage branches, and coordinate
work effectively. Git provides robust branching and merging capabilities, facilitating
parallel development and code collaboration among team members[7].
• API Testing: Postman is utilized for API testing, allowing developers to test
API endpoints and ensure they function as expected. It provides a user-friendly
interface for sending requests, inspecting responses, and debugging API interactions.
Postman’s collection feature enables the organization and sharing of API requests,
facilitating collaboration among team members and stakeholders[8].
• Database: MongoDB is chosen as the database solution for this project, offering a
flexible and scalable NoSQL database. It stores data in JSON-like documents, pro-
viding flexibility in schema design and scalability for large-scale applications. Mon-
goDB’s document-oriented nature and support for sharding and replication make it
suitable for handling diverse data types and high volumes of data [9].
Page 20
Specification of requirements
• Web Browsers: Microsoft Edge is used for web browser testing. Testing in Edge
ensures that the application works seamlessly in this widely used browser, providing
a consistent user experience. Edge’s developer tools assist in debugging, profiling,
and optimizing the web application, helping to identify and resolve issues related to
layout, rendering, and performance[?].
Page 21
Chapter III
22
Sprint 1: Authentication, Manage accounts manager, View statistics
III.1 Introduction
This chapter consists in studying the first sprint focused on authentication, manager
management and client management. We will explore the functional specification,
the design and finally, we will begin the implementation by presenting some inter-
faces linked to this sprint.
Page 23
Sprint 1: Authentication, Manage accounts manager, View statistics
The «administrator» actor represents the user with administrative privileges who
can perform a range of management functions. The use case diagram will show the
administrator’s interactions with different use cases within the system.
Page 24
Sprint 1: Authentication, Manage accounts manager, View statistics
Page 25
Sprint 1: Authentication, Manage accounts manager, View statistics
– Filter Statistics:
∗ The administrator selects a filter option (e.g.,
date range, category).
Alternative Sce-
narios ∗ The system retrieves the filtered data.
∗ The system updates the displayed statistics ac-
cordingly.
Page 26
Sprint 1: Authentication, Manage accounts manager, View statistics
Page 27
Sprint 1: Authentication, Manage accounts manager, View statistics
Page 28
Sprint 1: Authentication, Manage accounts manager, View statistics
III.6 Realization
Page 29
Sprint 1: Authentication, Manage accounts manager, View statistics
Page 30
Sprint 1: Authentication, Manage accounts manager, View statistics
III.7 Conclusion
In this Sprint, we presented the design and implementation of image management,
stock reception and messages. After several iterations, the Sprint was validated by
the SCRUM Master with all users. We will now move on to the next chapter which
is devoted to Sprint 2.
Page 31
Chapter IV
32
Sprint 2: Authentication, generate QR code, generate item
IV.1 Introduction
This chapter consists of studying the secand sprint focused on authentication, man-
age QR code , manage items. We will explore the functional specification, the design
and finally, we will begin the implementation by presenting some interfaces linked
to this sprint.
Page 33
Sprint 2: Authentication, generate QR code, generate item
Page 34
Sprint 2: Authentication, generate QR code, generate item
Page 35
Sprint 2: Authentication, generate QR code, generate item
Page 36
Sprint 2: Authentication, generate QR code, generate item
Page 37
Sprint 2: Authentication, generate QR code, generate item
Page 38
Sprint 2: Authentication, generate QR code, generate item
Page 39
Sprint 2: Authentication, generate QR code, generate item
IV.5 Realization
Page 40
Sprint 2: Authentication, generate QR code, generate item
Page 41
Sprint 2: Authentication, generate QR code, generate item
IV.6 Conclusion
In this Sprint, we presented the design and implementation of image management,
stock reception and messages. After several iterations, the Sprint was validated by
the SCRUM Master with all users. We will now move on to the next chapter which
is devoted to Sprint 3.
Page 42
Chapter V
43
Sprint 3: Create account, Scan QR code, make order
V.1 Introduction
This chapter consists of studying the final sprint focused on create account , scan
QR code and make orders . We will explore the functional specification, the design
and finally, we will begin the implementation by presenting some interfaces linked
to this sprint.
Page 44
Sprint 3: Create account, Scan QR code, make order
Page 45
Sprint 3: Create account, Scan QR code, make order
The "View Menu" use case allows the user to access and view the list of available
menu items. The user interacts with the system to display the menu, which is
fetched from the database where it has been previously registered.
Page 46
Sprint 3: Create account, Scan QR code, make order
Table V.3: Textual description of the use case "Scan QR code" as a manager
Page 47
Sprint 3: Create account, Scan QR code, make order
Page 48
Sprint 3: Create account, Scan QR code, make order
Page 49
Sprint 3: Create account, Scan QR code, make order
Page 50
Sprint 3: Create account, Scan QR code, make order
V.5 Realization
Page 51
Sprint 3: Create account, Scan QR code, make order
Page 52
Sprint 3: Create account, Scan QR code, make order
Page 53
Sprint 3: Create account, Scan QR code, make order
V.6 Conclusion
In this Sprint, we presented the design and implementation of image management,
stock reception and messages. After several iterations, the Sprint was validated by
the SCRUM Master with all users.
Page 54
GENERAL CONCLUSION
The platform’s secure payment system ensures that transactions are both con-
venient and safe, enhancing the overall dining experience by integrating a smooth,
end-to-end payment solution. Customers can pay directly through the platform,
confident in the knowledge that their data is protected by robust security measures.
Additionally, the feedback mechanism built into the platform allows customers to
share their dining experiences directly with the restaurant. This feature facilitates
continuous improvement by enabling managers to gather valuable insights and make
data-driven decisions to enhance service quality and customer satisfaction.
For managers, the platform offers an array of robust tools designed to optimize
restaurant operations. Real-time staff activity monitoring ensures that managers
can oversee tasks and allocate resources efficiently, promoting effective workforce
management. The flow control of dishes and meals feature further enhances oper-
ational management by allowing managers to oversee the preparation and delivery
processes, ensuring that dishes are served timely and maintaining high food quality.
The comprehensive feature set of our platform addresses critical operational chal-
lenges and sets a new standard in restaurant management. By integrating advanced
technology and user-centric design, the platform not only improves efficiency but
also significantly enhances the dining experience for customers.
55
Sprint 3: Create account, Scan QR code, make order
In conclusion, our restaurant management platform is not just a tool but a strate-
gic asset that redefines the dining experience. By addressing the key challenges faced
by the industry and leveraging cutting-edge technology, we have created a solution
that drives continuous improvement and excellence in restaurant operations, setting
a new benchmark for the industry.
Page 56
PERSPECTIVES
Looking ahead, our restaurant management platform is set to transform the in-
dustry by integrating advanced digital solutions and customer-centric features. As
digitalization and personalization in dining experiences continue to grow, the plat-
form’s QR code menu ordering, advanced filtering options, and secure payment
systems will meet evolving customer demands for convenience and customization.
For managers, real-time staff monitoring and flow control of dishes will enhance
operational efficiency and service quality. The platform’s adaptability to emerging
technologies like AI and IoT will further boost its capabilities. Overall, our platform
is poised to drive industry-wide innovation, setting new benchmarks for efficiency
and customer satisfaction.
57
Bibliography
58