A comprehensive PHP-based system for streamlined restaurant and cafe operations, encompassing ordering, kitchen management, waiter services, menu, and inventory control.
URMS (Universal Restaurant Management System) is a web-based application designed to digitalize and optimize various aspects of restaurant and cafe management. Built with plain PHP, HTML, and CSS, it provides a straightforward solution for handling customer orders through a self-service kiosk, enabling waiters to manage tables and orders efficiently, offering kitchen staff a clear view of incoming orders, and allowing administrators to control menu items and inventory. This system aims to reduce manual errors, improve service speed, and provide better operational oversight.
- Customer Kiosk Ordering: Self-service interface for customers to browse the menu and place orders.
- Waiter Panel: Dedicated portal for waiters to manage tables, take new orders, update order statuses, and view customer requests.
- Kitchen Display System (KDS): Real-time display of new and in-progress orders for kitchen staff, facilitating efficient food preparation.
- Order Queue Display: A public-facing screen to show customers the status of their orders in a queue.
- Menu Management: An administrative interface to add, edit, or remove menu items, including descriptions and pricing.
- Inventory Management: Track and update stock levels for ingredients and menu items.
- Secure Login: Separate login portals for different user roles (e.g., waiters).
- Database Integration: Persistent storage for all operational data, including menu, orders, users, and inventory.
Frontend:
Backend:
Database:
Follow these steps to get your URMS instance up and running on a local development environment.
Before you begin, ensure you have the following installed on your system:
- Web Server: Apache or Nginx with PHP module enabled.
- PHP: Version 7.x or higher.
- Database Server: MySQL or MariaDB.
-
Clone the repository
git clone https://github.com/3limssmile/URMS.git cd URMS -
Place files on your web server Move all the project files into your web server's document root (e.g.,
/var/www/html/urms/for Apache or/usr/share/nginx/html/urms/for Nginx). -
Database setup
- Create a new MySQL/MariaDB database (e.g.,
restaurant).
CREATE DATABASE restaurant;
- Create a database user and grant privileges (optional, but recommended for production).
- Import your database schema.
mysql -u your_username -p restaurant < path/to/your/restaurant.sql
- Create a new MySQL/MariaDB database (e.g.,
-
Configure database connection Open
db_config.phpand update the database connection details with your credentials:<?php $servername = "localhost"; // Your database host $username = "your_db_username"; // Your database username $password = "your_db_password"; // Your database password $dbname = "restaurant"; // The database name you created ?>
-
Start your web server Ensure your Apache or Nginx web server is running.
# Example for Apache on Ubuntu/Debian sudo systemctl start apache2 -
Open your browser Visit
http://localhost/urms/(or the appropriate URL if deployed to a different path or domain).
URMS/
├── .gitignore # Specifies intentionally untracked files to ignore
├── LICENSE # MIT License file
├── README.md # Project documentation: description, installation guide, usage instructions
├── db_config.php # Database connection configuration
├── images/ # Directory for storing static images (e.g., menu item photos)
├── index.php # Main landing page or entry point
├── kelner_login.php # Waiter login interface
├── kelner_panel.php # Waiter's operational panel for managing orders
├── kiosk.php # Customer self-service ordering kiosk
├── kolejka_display.php # Display for showing order queue status
├── kuchnia.php # Kitchen display interface for order preparation
├── menu_manager.php # Admin panel for managing menu items
├── restaurant.sql # SQL file containing database schema and initial data
├── style.css # Global styles for the application
├── zamowienie_potwierdzenie.php # Page for order confirmation
└── zapasy.php # Inventory and stock management interface
The db_config.php file is crucial for establishing a connection to your MySQL/MariaDB database. Ensure the following variables are correctly set:
| Variable | Description | Example Value |
|---|---|---|
$servername |
Database host | localhost |
$username |
Database username | root |
$password |
Database password | mypassword |
$dbname |
Database name | restaurant |
To deploy this application to a production environment:
- Follow the Installation steps outlined above on your production web server.
- Ensure
db_config.phpuses production-ready database credentials and a secure database user. - For security, consider configuring your web server to hide sensitive files or restrict direct access to files that are not meant for public viewing (e.g.,
db_config.php). - Ensure proper file permissions are set on your server.
We welcome contributions to URMS! If you'd like to improve this project, please consider the following:
- Fork the repository.
- Create a new branch for your feature or bug fix.
git checkout -b feature/your-feature-name
- Implement your changes.
- Test thoroughly.
- Commit your changes with a descriptive message.
git commit -m "feat: Add new feature for X" - Push your branch to your forked repository.
- Open a Pull Request against the
mainbranch of this repository.
The development setup is identical to the Quick Start instructions. Ensure you have a local PHP and MySQL/MariaDB environment.
This project is licensed under the MIT License - see the LICENSE file for details.
- Built by 3limssmile.
- Utilizes standard PHP, HTML, and CSS technologies.
- 🐛 Issues: GitHub Issues - for bug reports and feature requests.
⭐ Star this repo if you find it helpful!
Made with ❤️ by 3limssmile




