waitstaff and minimizing errors. This system uses
Zigbee for wireless communication and a PIC
microcontroller for menu coding. Additionally, an
automated food ordering system integrates data
mining algorithms like Apriori and K-means to
perform association mining and clustering, aiming to
reduce counter staff, eliminate calculation errors, and
manage queues efficiently. These systems
collectively highlight the potential of technology to
transform food service operations by improving
speed, accuracy, and user experience.
3 PROPOSED SYSTEM
The process begins at the Home page, which serves
as the main entry point for both users and admins.
From here, users can initiate the login process by
going to the User Login screen. Upon a successful
login, users are directed to the Menu List, which
presumably lists various meal options or items
available for ordering.
After viewing the mess list, users can proceed to
the Menu for the particular mess or canteen. At this
point, the system checks the Authenticity of the
request, which could mean verifying the user's
identity or checking if the requested item is available.
If this check fails (No), the user may be redirected or
notified accordingly. But if everything is in order
(Yes), the system moves on to a more detailed
validation step involving Credit Points or Item
Availability. This step likely ensures that the user has
sufficient credits to place the order, or it verifies that
the requested item is still available in stock.
Once these verifications pass, users are given the
chance to add items to their Cart. After adding items,
a confirmation step appears, labeled as Confirmation,
where users review their orders before proceeding. If
users are satisfied and confirm the order (Yes), the
next step generates a Token for their transaction. This
token is crucial as it likely tracks the user's position in
a Queue, ensuring orders are processed in sequence.
Parallelly, there is an Order Page accessible from
the Queue, where the system performs another check
labeled Check User Eligibility. This might involve
double-checking user details, ensuring they meet
specific requirements, or perhaps confirming they
haven't exceeded any ordering limits. If a user fails
this eligibility check (No), the system notifies them
through Msg to User, potentially explaining the
reason for rejection. If eligible (Yes), the order gets
processed further.
From here, the order moves to the backend where
it is saved in the Database (DB). At this point, data is
gathered for ML Prediction and Data Analysis
processes. The ML Prediction step could use data
patterns to forecast future item availability or user
preferences, while Data Analysis could provide
insights for optimizing operations or managing stock.
Admins also have a role in this system, with a
separate Admin Login route from the Home page.
Upon logging in, admins gain access to the backend
tools, including an option to Update Availability of
Items. This feature allows them to adjust stock levels,
ensuring the menu reflects real-time availability.
Through this update mechanism, admins can
communicate changes in availability to users, which
can trigger the Through Msg to User step, updating
users on item status in case of shortages or other
adjustments.
In summary, outlines of system designed to
handle user authentication, item selection, order
validation, stock management, and data processing
for predictions and analysis. The structured
interaction between users and admins ensures smooth
operation, while backend processes enable better
management and insights for future improvements.
For this project, we’re using the MERN stack,
which includes MongoDB, Express, React, and
Node.js. This stack allows for a smooth flow of data
from the frontend to the backend, making it highly
efficient and suitable for building dynamic,
responsive web applications. MongoDB serves as our
database, storing user information, orders, item
availability, and other crucial data. Express is used for
routing and setting up the server-side logic, while
React is handling the user interface, allowing for
interactive and real-time updates. Node.js brings
everything together, providing the runtime for our
backend operations.
We also incorporated Nodemailer to handle OTP
(One-Time Password) verification via email, which is
essential for confirming user authenticity. When
users sign up or log in, they receive an OTP, which
they must enter to proceed, adding an extra layer of
security to the process.
For authentication, we're using JWT (JSON Web
Tokens). JWT tokens help verify users without
having to check their credentials every time they
make a request. When a user logs in successfully, a
JWT token is issued and sent to the frontend, where it
can be stored. For every subsequent request, this
token is passed back to the server for verification.
Lastly, role-based authorization is implemented
through Express middleware. Different roles like
User and Admin have different access privileges; for
example, only Admins can update item availability.
This role management setup ensures that only