Restaurant Management System in PHP CodeIgniter with Source Code

A fully functional project based on Restaurant Management System which uses PHP Language with CodeIgniter Web Framework. Following PHP CodeIgniter project contains all the essential features which can be in use for the second year, and final year IT students for their college projects. It has a number of features that will allow users to manage restaurant records regarding its products, stores, sales, and so on. This system as well as the web application’s concept is all clear, it’s the same as real-life scenarios and well-implemented on it. To download free restaurant management system project in PHP CodeIgniter Framework with source code files, please scroll down to the bottom of this post for the Download button.

About Restaurant Management System Project

Moving on, this restaurant management system project in PHP CodeIgniter focuses mainly on dealing with the restaurant’s various essential records and information. Also, the system displays all the available details such as users, products, categories, bills, orders, etc. In addition, the system allows the managing of the system’s information too. This project is divided into two categories: Admin Panel and Employee Panel. In an overview of this web application, the admin can view all the available records and manage them easily. The admin has the right to manage the user groups such as cashier, manager, or any others with their respective set of rules. After setting up the groups, the admin has to insert the store(restaurant)’s name. As soon as it completes, the admin can now proceed to add users to the system by selecting store names and groups.

An admin oversees the system, so the admin has access to manage food categories, restaurant tables, items. In terms of adding food categories, and tables he/she should only enter a name and select status if it’s active or not. For adding food products, the user has to enter a name, price, description, and select available stores and food category. After setting up all the record information for the restaurant, the admin can finally manage sales by selecting an available table, product names, and entering food quantities. With this information, the system automatically displays the total net amount by calculation with service tax and vat amount. Then, the admin can manage the sales record by setting up the bill status from unpaid to paid.

Invoice, Reports and Settings

Besides, the admin can view the invoice bill of each and every available transaction and print it out. The invoice receipt displays all the available information of that particular order with its table number, date and time, food items, quantities, discount amounts, VAT %, and service charge %. The system generates total sales of items of each month in a graphical representation way. Also, the system settings allow an admin to change the system’s name, description, and set VAT and service charge amounts. Lastly, the remaining features include updating personal profiles, and all dashboard helps to represent all the records in a summary such as total income, the number of bills due, paid, available tables, food products, etc.

Employee Panel

On the other hand, the main responsibility of an employee’s account falls upon the main system admin as he/she is responsible for setting up access for each and every user group. So, there is no specific fixed access that can be stated as of now. In fact, the employee can have all the important access if the admin allows else the employee account will have some basic access to the system such as viewing of sales, products, available tables. But, let us assume an employee with a cashier user group, then that particular employee will probably have an access to the management side of the restaurant’s sales, and can oversee the product items, available tables. So, in short, this employee panel basically falls upon the access set by an admin which changes from one user group to another.

Last but not least, a clean and simple dashboard is presented using AdminLTE Bootstrap Admin Dashboard Template with various color combinations for greater user experience while using this online restaurant management system project in PHP MySQL CodeIgniter Framework. For its UI elements, a free open-source CSS framework; Bootstrap is on board with some Vanilla CSS too. Presenting a new restaurant management system Project in PHP MySQL CodeIgniter which includes an admin panel and employee panel that contains all the top essential features to follow up, and a knowledgeable resource for learning purposes.

Available Features
  • Admin Panel
  • Employee Panel
  • User Management
  • User Groups Management
  • Set User’s Access
  • Store Management
  • Restaurant’s Table Management
  • Product and Categories Management
  • Manage Food Orders
  • View Total Earnings, Paid and Unpaid Bills
  • View Monthly Reports
  • Generate Invoice
  • Manage Company Information
  • View and Update Profile
  • Search Functionalities
Project Name:Restaurant Management System Project
Language/s Used:PHP with CodeIgniter Web Framework
PHP version (Recommended):PHP 5, 7
Type:Web Application
Restaurant Management System – Project Information

Instructions: How to Run?

  • After you finish downloading the project, unzip the project file and head over to your XAMPP directory.
  • There you’ll find a folder naming “htdocs”.
  • Inside the “htdocs” folder, paste the project folder (not the .zip one, but the extracted one).
  • Open your favorite browser; we recommend using Google Chrome or Mozilla Firefox.
  • Then, go to URL “http://localhost/phpmyadmin“.
  • Create a Database with a name that is provided inside the “01 LOGIN DETAILS & PROJECT INFO.txt”.
  • Click on the “Import” tab and choose the database file (.sql) which is provided under the folder naming “DATABASE FILE”.
  • After setting up all these, go to URL “http://localhost/[ PROJECT_FOLDER_NAME ]/“
  • All the login details are provided inside the project folder, check that out and enter in order to use it.

And there you have it, a full setup of Restaurant Management System project in PHP CodeIgniter. For this particular PHP project, PHP Version 5.6.3 or Newer is required because the project might not operate well with the oldest PHP version. So, users with the oldest PHP version (lower than 5.6) might face various problems while operating it. As a result, you’ll need to upgrade your PHP version (only if you’re using the oldest version) at the moment. Download Free Restaurant Management System Project in PHP MySQL CodeIgniter Source Code. So, this restaurant management system is a fully functional project for all the beginner as well as the intermediate levels that broads vast knowledge into such PHP web applications. In conclusion, this whole PHP project with free source code is an absolute project and a meaningful way for the users to learn and explore more about it.

Free Download Restaurant Management System Project in PHP MySQL CodeIgniter with Source Code:
Click the Download Button Below to Start Downloading

Note: Only for Educational Purpose


  1. Good Job, But how can the waiters or server be name be included in the printed receipt.

    1. Since it’s not available for now, you can simply add a new section as waiters-> add waiter records with their respective stores and finally, you can add options to select waiter’s name while managing the order section (just like selecting table number and product name which is fetched directly from the database). Talking about the DB side, you have to manage out there too under orders table and add a new table for holding waiter’s record! With this, all the required records can be saved under the orders table and you can create a receipt by selecting the id of each which will display all the information as you have said.

  2. félicitations à vous j’ai vraiment besoins de votre aide pour cette application là vu que j’ai envie de présenter ça comme projet de soutenance aidez moi a faire le cahier de charger

  3. Hello, I appreciate the work you’ve done.
    Please can I have a look on the class diagram, and the use case diagram for all the actors involve in the project?

  4. Hi i found that only the orders with the store of ember restaurant are showing and if i delete that restaurant the ajax gives me an error. Thanks, i really appreciate your code.

      1. No I didn’t, the project folder is as from the zip file “RestaurantMS_CI” and the line in the config.php is:
        $config[‘base_url’] = ‘http://localhost/RestaurantMS_CI/’;

        The login page is without problems but after I log in; I’m redirected to the dashboard where I get the error.

    1. Can I develop it and change its design and language and then sell it?? Please reply because I can’t sell it without your consent my Principles don’t allow me.

  5. Hello, just want to say that i got an error. i didn’t do anything to the files. This is the error i got:

    Fatal error: Can’t use method return value in write context in F…………..

      1. Hello, just want to say that I got so many errors. i didn’t do anything to the files. This is the error i got:

        Fatal error: Can’t use method return value in write context in F………………..

  6. hello Sir,

    Thanks a lot, I got below error
    (Error Number: 1064

    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘groups ON = user_group.group_id WHERE user_group.user_id = ‘1” at line 2

    SELECT * FROM user_group INNER JOIN groups ON = user_group.group_id WHERE user_group.user_id = ‘1’

    Filename: C:/wamp64/www/RestaurantMS_CI/system/database/DB_driver.php

    Line Number: 691) .

    please help


  7. Sorry I could not understand what is the solution.
    MySQL version is Server version: 8.0.18 – MySQL

  8. Good evening, sir. How to add or insert pictures to products because when uploading the image won’t show. Thank you sir hoping for you reply.

    1. Cause it does not have the required upload path. Simply Create folders following this directory “assets/images/product_image” and try uploading the product picture.

  9. Can you add one more feature i.e. employee attendance to this system ..Urgently want this . Because this is my major project

  10. I’m trying to host this in cpanel and giving students locally to try and access however after i login 404 error occurring

  11. Please sir i got the error below whenever i try to login as admin

    Error Number: 1064

    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘groups ON = user_group.group_id WHERE user_group.user_id = ‘1” at line 2

    SELECT * FROM …………………… W HERE user_group.user_id = ‘1
    Line Number: 691

  12. Where is front end of this application. Backend is very good it has all the primary features needed for restaurant management system. It will be great if you can provide front end (customer area where customer can browse and place orders).

    1. That’s not a website. It’s just a restaurant system for managing records. Regarding the project including client-side, we’ve other similar projects too. Do check that out!

    1. Cause it does not have the required upload path. Simply Create folders following this directory “assets/images/product_image” and try uploading the product picture.

  13. A PHP Error was encountered

    Severity: 8192

    Message: Return type of CI_Session_files_driver::open($save_ path, $ name) should either be compatible with SessionHandlerInterface::open(string $path, string $ name): bool, or the # [\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice……………

    i have faced this can I solve it??plz help 🙁

    1. This looks like an error coming from your LATEST version of PHP. This particular project is tested only with PHP 5.6 and 7.4, so the latest PHP 8 might create these problems. Still, you can find related solutions for these problems online!

Leave a Reply

Your email address will not be published. Required fields are marked *