Automated Menu Ordering System
March 24, 2026 ยท View on GitHub

Table of Contents
Introduction
The Automated Menu Ordering System solves issues like long wait times, order mistakes, and reliance on waitstaff by allowing customers to select tables, browse menus, and place orders directly from a table screen. Customer can pay for their food. A manager oversees order fulfillment and overall restaurant operations, while an admin manages the menu, promotional deals, accounts, and branches.
Features
- User Authentication: Secure login and signup for customers and administrators.
- Dynamic Menu Management: Admins can easily manage menu items, including names, prices, and descriptions.
- Order Customization: Customers can modify their orders with various options like sizes, toppings, and special requests.
- Order History: Customers can view past orders and repeat them if needed.
- Order Tracking: Customers can track the status of their order, from preparation to delivery.
Technologies
The Automated Menu Ordering System is built with the following technologies:
Frontend
- WinUI 3 (for building modern Windows desktop applications)
- XAML (for designing the user interface)
Backend
- .NET 8 (for building the backend services)
- C# (for writing the application logic)
- PostgreSQL (for managing and storing data)
Installation
Prerequisites
Make sure you have the following installed:
Visual Studio 2022
- .NET desktop development workload
- Windows application development workload
Nuget Package Manager
- Npgsql
- EnvDotNet
- SyncFusion
Setting up workspace
-
Clone the repository:
git clone https://github.com/abdxdev/Automated-Menu-Ordering-System -
Open the solution file in Visual Studio 2022:
cd Automated-Menu-Ordering-System/src/ start Automated_Menu_Ordering_System.sln -
Restore the NuGet packages:
- Right-click on the solution in the Solution Explorer.
- Select Restore NuGet Packages.
-
Set up the environment variables:
- Create a new file named
.envin theAutomated-Menu-Ordering-System/src/Automated_Menu_Ordering_Systemdirectory and add the following environment variables:
DATABASE_CONNECTION='Host=localhost;Port=5432;Username=postgres;Password=your_password;Database=your_database;' SYNC_FUSION_LICENSE='your_license_key'Replace parameters with your PostgreSQL database credentials.
- Create a new file named
-
Build the solution:
- Right-click on the solution in the Solution Explorer.
- Select Build Solution.
-
Run the application:
- Press
F5to start the application in debug mode.
- Press
License
This project is licensed under the MIT License - see the LICENSE file for details.