Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Restaurant POS Automation System

A comprehensive, robust, and visually driven desktop application designed to digitize restaurant operations. This open-source project demonstrates a full-stack desktop solution including Visual Table Management, Kitchen Display Systems (KDS), Financial Reporting, and a custom Hardware-Locked Licensing System.

.NET WPF SQLite EF Core License

Overview

Restaurant POS is a standalone Windows desktop application built with WPF and .NET 10. Unlike traditional web-based systems, this app runs entirely offline and uses a Self-Contained deployment model. It features a custom Hardware Lock security mechanism, ensuring the software only runs on authorized machines.

Key Features

  • Visual Table Management — Admin-controlled "Drag & Drop" canvas for designing floor plans. Table coordinates ($X, Y$) are persisted in SQLite, and status updates (Empty/Occupied) happen in real-time.
  • Advanced Ordering System — Dynamic menu fetching from the database. The "Smart Basket" handles quantity adjustments, item removal, and supports percentage-based discounts.
  • Multi-Currency Support — Real-time integration with the Central Bank (TCMB) API to fetch exchange rates and display order totals in USD ($), EUR (€), and GBP (£).
  • Kitchen Display System (KDS) — A dedicated view for kitchen staff that syncs instantly with waiter terminals. Chefs can mark orders as "Ready" to update table status.
  • Hardware-Locked Licensing — Advanced security layer using System.Management. Generates a unique MachineID based on CPU & Motherboard serials to prevent unauthorized copying.
  • Payment Flexibility — Supports Cash, Credit Card, and Meal Cards (Sodexo, Multinet).

Getting Started & Licensing 🔐

This project simulates a commercial hardware-lock mechanism. You must generate a license key to run the app.

  1. Build the Solution — Open Restaurant.sln in Visual Studio and build all projects (Restaurant + KeyGenerator).
  2. Get Machine Code — Run the Restaurant app. Copy the unique code shown on the "License Activation" window.
  3. Generate Key — Run the KeyGenerator tool from the solution explorer, paste your Machine Code, and click Generate Key.
  4. Activate — Paste the resulting key back into the main Restaurant application and click Activate. The app is now unlocked for your machine!

Note: This security layer is implemented to demonstrate advanced C# System.Management capabilities and protection algorithms.

Tech Stack

Category Technology Used
Framework .NET 10.0 (C#)
UI / UX WPF (Windows Presentation Foundation) / XAML
Database SQLite (Production) / MS SQL Server (Development)
ORM Entity Framework Core (Code-First)
Charts LiveCharts.Wpf
Security Custom Hardware Lock (WMI)

Installation for Developers

# Clone the repository
git clone [https://github.com/YUKSELutku/RestaurantPOS.git](https://github.com/YUKSELutku/RestaurantPOS.git)

# Open in Visual Studio
start Restaurant.sln
Database Setup
The application uses Code-First Migrations.

You do not need to run manual SQL scripts.

When you run the app, context.Database.EnsureCreated() will automatically generate the Restoran.db SQLite file in the bin/output directory.

Run
Ensure Restaurant is set as the StartUp project.

Press F5.

Contributing
This is an open-source project for educational purposes. Feel free to fork, submit PRs, or use the code to learn how to build complex WPF applications.

About

WPF-based Restaurant POS System with C#, .NET 10, and SQLite. Features a custom hardware-locked licensing system, visual table layout editor, and real-time TCMB currency integration.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages