Tomato Documentation Final
Tomato Documentation Final
Online Food Ordering System is proposed for simplifies the food ordering process. This
System shows an user interface and update the menu with all available options so that it eases
the customer work. Customer can choose more than one item to make an order and can view
Order details before logging off. The order confirmation is sent to the customer. The order is
placed in the queue and updated in the Database and returned in real time. The Food Ordering
System described in this document has been designed to fill a specific niche in the market by
providing small restaurants with the ability to offer their customers an online ordering option
without having to invest large amounts of time and money in having custom software designed
specifically for them.
The system, which is highly customizable, allows the restaurant employees to easily manage
the site content, most importantly the menu, themselves through a very intuitive graphical
interface. The website, which is the only component seen by the restaurant customers, is then
built dynamically based on the current state of the system, so any changes made are reflected
in real time. Visitors to the site, once registered, are then able to easily navigate this menu, add
food items to their order, and specify delivery options with only a few clicks, greatly
simplifying the ordering process. Back in the restaurant, placed orders are promptly retrieved
and displayed in an easily readable format for eminent processing.
The purpose of this document is to provide in-depth descriptions of design and implementation
details of the system, as well as descriptions of all available functionality and plans for
evolution.
1|P a g e
Introduction
1.1. Problem definition: -
1. Some of the major problems reported by the customers surveyed revolved around late
deliveries because of network problem
4. Cold food being delivered, and the driver requiring a lot of guidance to find the delivery
location.
5. Sometime payment issue is occurred.
6. Online food ordering system service now days increase your budget.
2|P a g e
1.2. Objective:
The main objective of the Online Food Ordering System is to manage the details of Item,
Category, Food, Delivery, Address, Order, Shopping Cart. The purpose of the project is to build
an application program to reduce the manual work for managing the Item Category, Food,
Customer.
1. To allow the customer to make order, view order and make changes before submitting their
order and allow them make payment through prepayment card or credit card or debit card.
2. To provide interface that allows promotion and menu.
3. To prevent interface that shows customers’ orders detail to front-end and admin for
delivering customers’ orders.
4. A tool that allows the management to modify the food information such as price, add a new
menu and many others as well as tools for managing user, system men.
5. This will avoid long queues at the counter due to the speed of execution and number of
optimum screens to accommodate the maximum throughput.
6. To increase eminency and improve services provided to the customers through better
application of technology in daily operations.
8. To enable customers to have a visual confirmation that the order was placed correctly
13. To increase eminency by shortening the purchasing time and eliminating paper work like
receipts through online transactions.
3|P a g e
1.3. Scope:
1. This system will help to customer and administrator for the ordering process.
2. Easy to make ordering and hopefully can smoothen up the job of administrator and
waiter.
3. This system produces a computerized system in defining the best solution in food delivery
system.
4. Easy access to any stage.
4|P a g e
1.4. Technical Details: -
Express JS (Backend application framework for building RESTful APIs with Node.js).
Node JS (Back-end JavaScript runtime environment and executes JavaScript code outside
a web browser).
MongoDB (Cross-platform document-oriented database program).
2. All operations are done manually by the waiter carrying paper and to take down the order
of the customer or making an order over the counter.
3. This leads to mistakes because the waiter might not understand what the customer had
ordered therefore serving him/her a different menu.
4. This could be so embarrassing because the customer might not take it lightly with the waiter
which may lead to misunderstanding.
5|P a g e
1.4.3. Limitation of existing system
Due to manual means being employed by the fast food restaurants, it is very difficult to satisfy
the wants and needs of the customers. Most of the problems include:
1. Mistakes are made when taking the orders of the customers .
2. The process of collecting customers’ purchases order is very tedious. This makes it
impossible to deliver goods on time.
4. The record keeping system is poor. Losses of vital records have been reported in the past
consequently. Besides, protecting the file system from unauthorized access is a problem that
has defiled solution.
6|P a g e
System Planning and Schedule
This project is developed on the concept of the Spiral Model. The Spiral Model is a software
development life cycle (SDLC) model that provides a systematic and iterative approach to
software development.
It is based on the idea of a spiral, with each iteration of the spiral representing a complete
Software development cycle, from requirements gathering and analysis to design,
implementation, testing, and maintenance.
7|P a g e
2.2. Gantt chart: -
A Gantt chart is a graphical depiction of a project schedule. The Gantt chart is the most widely
use chart in project management.
These charts are useful in planning a project and defining the sequence of tasks that require
completion. In most instances, the chart is displayed as a horizontal bar chart.
8|P a g e
Software Requirement Speciflcation(SRS)
SRS is a blueprint or roadmap for the software you're going to build. An SRS not only keeps
your teams aligned and working toward a common vision of the product, it also helps ensure
that each requirement is met. It can ultimately help you make vital decisions on your
product’s lifecycle, such as when to retire an obsolete feature.
It takes time and careful consideration to create a proper SRS. But the effort it takes to write
an SRS is gained back in the development phase. It helps your team better understand your
product, the business needs it serves, its users, and the time it will take to complete.
2) Windows 11 above.
These are statements of services the system should provide, how the system should react to
particular inputs, and how the system should behave in particular situations. It specifies the
application functionality that the developers must build into the product to enable users to
accomplish their tasks.
1. Registration: Application provides a link for the Users/Client Registration.
2. Log In: Administrator and Client can log in by entering user name and password and manage
their work on website.
3. Save information: Client enter all its necessary information by filling personal info form
and system save that information.
4. Change requirements: Customer can change any of their information any time.
9|P a g e
5. Food Menu: Admin can insert, update and delete the food items from the menu list.
6. Show Food Menu: There is a list of all types of food the restaurant is dealing with
the available themes.
7. Record Order Details: Customer can select food items from menu and can add the desired
food items to. The cart. Customer can place the order and gets the confirmation against
That Order in the form of message.
8. Show Order Status: Customer can check the status of his/her placed order.
9. View Orders: Admin can view the placed order and delivered order.
4. Highly Customizable.
10. When the selection is made and confirmed by the customer, the receipt shall be produced
within some seconds.
1. Customer Identification
2. Pages of the website must be access in the way they were intended to be accessed.
3. Included files shall not be accessed outside of their parent file.
4. Administrator can only perform administrative task on pages they are privileged to access.
10 | P a g e
Object Oriented Analysis & Design Diagrams
DFD Level 0
11 | P a g e
DFD Level 1
12 | P a g e
13 | P a g e
DFD Level 2
14 | P a g e
Use case Diagram
15 | P a g e
Activity Diagram (Admin)
16 | P a g e
Activity Diagram (User)
17 | P a g e
Class Diagram (Admin)
18 | P a g e
Class Diagram (User)
19 | P a g e
Sequence Diagram (Admin)
20 | P a g e
Sequence Diagram (User)
21 | P a g e
ER diagram
22 | P a g e
Database
5.Database Table: -
23 | P a g e
5.1. Network Access (IP Address)
5.2. Clusters
24 | P a g e
5.3. List all food Database
25 | P a g e
5.5. Users Database
26 | P a g e
Testing
Features to be tested are: 1. Proper redirected login as per the user. 2. Validation of login and
register module. 3. View Shopping Cart and the Catalogue. 4. View information of various
fields. 5. Validation of booking form.
1. Black Box Testing treats the software as a black box without the knowledge of internal
behavior. It aims to test the functionality according to the requirements. Thus, the tester
only inputs data and sees the output from the test object. This kind of testing requires.
through test cases to be provided to the tester who then can simply verify that for a given
input, the output value is the same as the expected value specified in the test cases.
28 | P a g e
Modules
Landing Page:
29 | P a g e
Sign Up Page:
30 | P a g e
31 | P a g e
Menu Page:
32 | P a g e
Order Page:
33 | P a g e
Item Deleted:
34 | P a g e
Payment Gateway:
35 | P a g e
Stripe Integration:
36 | P a g e
Payment Processing:
37 | P a g e
My Order:
38 | P a g e
Admin Dashboard:
39 | P a g e
Add Items:
40 | P a g e
List Items:
41 | P a g e
Order Tracking Page:
42 | P a g e
Updating Order:
43 | P a g e
Order Updated on Users End:
44 | P a g e
Conclusion
45 | P a g e
Future Scope
The following section describes the work that will be implemented with future releases of the
software.
o Customize orders: Allow customers to customize food orders
o Enhance User Interface by adding more user interactive features. Provide Deals
and promotional Offer details to home page. Provide Recipes of the Week/Day to
Home Page
o Payment Options: Add different payment options such as Pay Pal , razor pay , Gift
Cards etc.
46 | P a g e
References
1. Https://www.w3schools.com
2. Https://www.youtube.com
3. https://react.dev/
4. https://nodejs.org/
5. https://expressjs.com/
6. https://stripe.com/docs
7. https://stripe.com/docs/stripe-js/react
8. ttps://github.com/remy/nodemon
9. https://mongoosejs.com/
47 | P a g e