Online Restaurant Management System

Restaurant Management System – This is another open-source project that we have worked on. This project is based on Codeigniter, MySQL, adminlte, bootstrap, and jquery. The administrator can manage more than one store in this system. They can track each user, product, order, and table based on the stores. The super administrator can view everything based on every store. The user’s privileges can be done by the super administrator. The administrator is responsible for user permission. He will need to set the user permission to create, update, view, and delete each module on this system.

We have listed down the system features in the below section. We will also teach you how to install this system successfully.

System Credential

System Features

  • Manage Users
    • Add new user detail
    • View, Update, and remove user information
  • Manage Groups
    • Add new group information
    • View, Update, and remove group information
  • Manage Stores
    • Add new store data
    • View, Update, and remove store information
  • Manage Tables
    • Add new table information
    • View, Update, and remove table information
  • Manage Category
    • Add new category information
    • View, Update, and remove category information
  • Manage Products
    • Add new product information
    • View, Update, and remove products information
  • Manage Orders
    • Add new order information
    • View, Update, and remove orders information
  • Reports
    • View the total amount of paid orders represented on the graphical chart based on yearly.
    • View the total amount of paid orders represented on the graphical chart based on yearly and store-wise.
  • Company
    • Update the company information
    • That includes company name, address, phone, message, vat charge, service charge, and more..
  • Profile
    • View the logged in user information
  • Setting
    • View, and Update logged-in user information

Installation guidelines

First download the source code and database from the link that I have provided. Please download them it’s free to download and use them.

After you have downloaded the source code, create the database on your MySQL. If you don’t have MySQL or XAMPP (Windows), or MAMP (MacOS) on your operating system then please download them.

Now, create the database named restaurant, and import the database script which has been provided to you.

So If your database is installed successfully copy the downloaded source code into the htdocs file which is located in MAMP or XAMPP directory.

After you have copied the file in that folder go to the restaurant/application/config/config.php. There you will see the site_url global array. Change that localhost:8888 into your suitable port no. For example, if you have localhost:8080 then changed it to that port no.


$config['base_url'] = 'http://localhost:8888/stock';

Go to the applications >> config >> database.php file and change the database name if you have another database name. If you have a different database user’s username and password on your system then change the username and password.

folder_structur


$db['default'] = array(
	'dsn'	=> '',
	'hostname' => 'localhost',
	'username' => 'root',
	'password' => 'root',
	'database' => 'restaurant',
	'dbdriver' => 'mysqli',
	'dbprefix' => '',
	'pconnect' => FALSE,
	'db_debug' => (ENVIRONMENT !== 'production'),
	'cache_on' => FALSE,
	'cachedir' => '',
	'char_set' => 'utf8',
	'dbcollat' => 'utf8_general_ci',
	'swap_pre' => '',
	'encrypt' => FALSE,
	'compress' => FALSE,
	'stricton' => FALSE,
	'failover' => array(),
	'save_queries' => TRUE
);

This is the final step. After you have successfully installed and configured the main file that I mentioned. Go to Chrome browser and type localhost:8888 or any port no that your server is running. After that, the page should redirect you to the login page. Please enter the credential that has been provided in the above page section.

I hope this helps you a lot. Thank you

CHANGELOG

1.1>
* Fixed the session issue
* Fixed the empty string core/Output.php
* Fixed the setCookie() deprecated issue.
* Fixed the order section.

System Live Preview

Live Preview

Download:

Download Source Code

System features video

Installation guidelines video

Related Posts:

81 comments

  1. Hello, thank you so much for the source code and the tutorial installation. But I have problem: When i logged in, it said : The requested URL /restaurant/auth/login was not found on this server. Please tell me how to fix it, I’m a newbie. Thank you.

    • Hello,
      You may try to change the URL from /restaurant/auth/login to /restaurant/index.php?/auth/login – this is one time patch, and will not work if you click some route. If this work – check if you have .htaccess file in main folder (if you use apache). I use NGINX and have the same problem.
      Hope that help you.

      • The problem is that you have not assigned an “alias” in apache

      • i am also facing same issue..
        i am using apache 2.4, mysql 5.7 and php7.0 and linux mint…
        if any one find solution please ping me…
        This is not work for me.. i am cheching .htaccess file also it is clear in docroot folder.

      • I am using lamp (linux, apache2, mysql and php) .. i am also facing same problem.. after login its redirect to auth/login but it shows 404 NOT found..

        How can i solve this issue..

      • config your server to listen to port 8888 NOT 80 then everything will be fine

    • Did you fix this? Im getting the same error.

    • Hi,
      I’m Santhosh

      I downloaded and run the application.
      After login with credentials, it showing the following issue

      http://localhost:8080/restaurant/auth/login

      Object not found!
      The requested URL was not found on this server. The link on the referring page seems to be wrong or outdated. Please inform the author of that page about the error.

      If you think this is a server error, please contact the webmaster.

  2. hello please help . i m Facing this problem
    when i click the admin order Mange tab..

    Error/
    DataTables warning: table id=manageTable – Invalid JSON response. For more information about this error, please see http://datatables.net/tn/1

    • The problem is the version of MYSQL and PHP installed (PHP 5.6 and MYSQL 5.7).

    • You resolved this problem? I don;t know what to do/

    • Hola, este error se produce porque estan creando ordenes con el usuario admi, el cual en la base de datos el store_id es 0, por ende el listado de ordenes no encuentra Store_id y reporta el error.

      opcion 1: asociar el admin a un local o tienda
      opcion 2: en la tabla orders, cambiar store_id de la fila de 0 a 1 que seria la tienda con dicho codigo.

  3. Alejandro Barillas April 10, 2018 at 4:14 am

    Hello everyone, first of all I want to thank the developer of the excellent application that he offers us on this website, I am from Guatemala and I would like to know if the system allows you to configure the translation of languages ​​into Spanish, check the file config.php / *
    | ————————————————- ————————-
    | Default Language
    | ————————————————- ————————-
    |
    | This determines which set of language files should be used. Make sure
    | there is an available translation if you intend to use something other
    | than english
    |
    * /
    $ config [‘language’] = ‘english’;
    If I change the variable ‘english’ to ‘spanish’ I can see the whole system in spanish. Thank you.

  4. Alejandro Barillas April 10, 2018 at 9:05 am

    When you press the option in the “Manage Orders” dashboard menu, it displays the following error (DataTables warning: table id = manageTable – Invalid JSON response.) For more information about this error, please see http://datatables.net/tn/1 ) check the page says it is a common error but because it happens if the system is newly installed, which version of PHP is the best recommended for the system. I opened the debugger to see what happens and I can not detect the problem, they could help us solve the problem. regards

  5. Alghuien soluciono el problema, ya que no se puede acceder, mismo error “auth/login was not found on this server.”

  6. Im getting the error below on my initial installation. Anyone can help? Im newbie in this…

    A PHP Error was encountered
    Severity: Compile Error

    Message: Can’t use method return value in write context

    Filename: core/MY_Controller.php

    Line Number: 21

    Backtrace:

  7. Hi can you please take a look at my website, is not fully completed but I was hoping you can help me. Would be nice to hear from you to discuss this further.
    Kind regards

  8. billionHustler June 3, 2018 at 4:54 am

    DataTables warning: table id=manageTable – Invalid JSON response. For more information about this error, please see http://datatables.net/tn/1

  9. I found an error:
    ——————————————————–
    $store_data = $this->model_stores->getStoresData($value[‘store_id’]);
    ——————————————————–
    and
    ——————————————————–
    $store_data = $this->model_stores->getStoresData($order_data[‘store_id’]);
    ——————————————————–
    Replace ‘store_id’ by ‘id’

  10. How to change time zone?

  11. I want to know how you design the permission component of the system

  12. how to login bro ??
    email = [email protected]
    , password = ??

  13. i have 2 problem on this website.

    1. Localhost says
    DataTables warning: table id=manageTable – Invalid JSON response. For more information about this error, please see http://datatables.net/tn/1

    2. http://localhost/restaurant/reports/storewise
    CHART not show on this page

    Only 2 problem,
    thanks you

  14. Hello

    i had done setup perfectly . there is showing error on manage order page .
    DataTables warning: table id=manageTable – Invalid JSON response. For more information about this error, please see http://datatables.net/tn/1

    Any solution from your side ?

  15. so if you go to your database and in the “orders” table the value of “store_id” is set to “0”. Edit it and make it to 1. Then the problem is solved.
    You must edit the store_id that is set to some id from the store.

  16. Can I add new page. If possible then how can i do this.

  17. ERROR
    DataTables warning: table id=manageTable – Invalid JSON response. For more information about this error, please see http://datatables.net/tn/1

    CODE
    db->query($sql, array($id));
    return $query->row_array();
    }

    $sql = “SELECT * FROM stores ORDER BY id DESC”;
    $query = $this->db->query($sql);
    return $query->row_array();
    }

    ERROR IN MANAGE STORE AND MANAGE PRODUCT PAGE.PL HELP I NEED URGENT HELP FROM YOURS FOR MY SEM PROJECT

  18. pl help
    error in mange order page,and manage product page
    DataTables warning: table id=manageTable – Invalid JSON response. For more information about this error, please see http://datatables.net/tn/

    db->query($sql, array($id));
    return $query->row_array();
    }

    $sql = “SELECT * FROM stores ORDER BY id DESC”;
    $query = $this->db->query($sql);
    return $query->row_array();
    }

    load->model(‘model_tables’);
    $this->load->model(‘model_users’);
    }

    /* get the orders data */
    public function getOrdersData($id = null)
    {
    if($id) {
    $sql = “SELECT * FROM orders WHERE id = ?”;
    $query = $this->db->query($sql, array($id));
    return $query->result_array();
    }

    $user_id = $this->session->userdata(‘id’);
    if($user_id == 1) {
    $sql = “SELECT * FROM orders ORDER BY id DESC”;
    $query = $this->db->query($sql);
    return $query->result_array();
    }
    else {
    $user_data = $this->model_users->getUserData($user_id);
    $sql = “SELECT * FROM orders WHERE store_id = ? ORDER BY id DESC”;
    $query = $this->db->query($sql, array($user_data[‘store_id’]));
    return $query->result_array();
    }
    }

    pl help,i need help for my sem project.

  19. Fatal error: Can’t use method return value in write context in C:\wamp\www\restaurant\application\core\MY_Controller.php on line 21
    Call Stack
    # Time Memory Function Location
    1 0.0012 402248 {main}( ) ..\index.php:0
    2 0.0046 496520 require_once( ‘C:\wamp\www\restaurant\system\core\CodeIgniter.php’ ) ..\index.php:315

    ( ! ) Fatal error: Class declarations may not be nested in C:\wamp\www\restaurant\system\core\Exceptions.php on line 49
    Call Stack
    # Time Memory Function Location
    1 0.0012 402248 {main}( ) ..\index.php:0
    2 0.0046 496520 require_once( ‘C:\wamp\www\restaurant\system\core\CodeIgniter.php’ ) ..\index.php:315
    3 0.0503 1825824 _shutdown_handler( ) ..\Common.php:0
    4 0.0504 1826400 _error_handler( ) ..\Common.php:689
    5 0.0505 1826584 load_class( ) ..\Common.php:617

  20. Can i ask what is the Email and The Password to login to the system, thank you

  21. michael tomaylla mendoza November 19, 2018 at 8:11 am

    Thank you.

  22. hello. i have a problem which cannot access the system
    i had save the file into xampp using http://localhost/Test6/application/controllers/Auth.php..

    it was appear like below.
    You don’t have permission to access the requested object. It is either read-protected or not readable by the server.

    If you think this is a server error, please contact the webmaster.

  23. Hello, thank you very much for the source code and the installation of the tutorial. Analyzing the code I found a problem that I can not solve. The problem is when uploading the image.
    He issues this message:
    The upload destination folder does not appear to be writable.
    Here is the code:

    public function upload_image () {
    $ config [‘upload_path’] = ‘assets / images / product_image /’;
    $ config [‘file_name’] = uniqid ();
    $ config [‘allowed_types’] = ‘gif | jpg | png’;
    $ config [‘max_size’] = ‘1024’;

            $ this-> load-> library (‘upload’, $ config);
            if (! $ this-> upload-> do_upload (‘product_image’))
            {
                $ error = $ this-> upload-> display_errors ();
    $ data [‘error_upload’] = $ error;
                return $ error;
            }
            else
            {
                $ data = array (‘upload_data’ => $ this-> upload-> data ());
                $ type = explode (‘.’, $ _FILES [‘product_image’] [‘name’]);
                $ type = $ type [count ($ type) – 1];
                $ path = $ config [‘upload_path’]. ‘/’. $ config [‘file_name’]. ‘.’. $ type;
                return ($ data == true)? $ path: false;
            }
        }

    Please, tell me how to fix it, I’m a newbie. Thank you.

  24. Error/
    DataTables warning: table id=manageTable – Invalid JSON response. For more information about this error, please see http://datatables.net/tn/1

    Root cause:
    Store field is not validated.

    Resolution:
    Add the following line via application/controllers/Products.php (line 185) to validate store field.
    $this->form_validation->set_rules(‘store[]’, ‘Store’, ‘trim|required’);

  25. DataTables warning: table id=manageTable – Invalid JSON response. For more information about this error, please see http://datatables.net/tn/1

  26. Hi, dear thanks for all this, I’ve successfully installed this software, but can’t log in because of the password.
    User Name: [email protected]
    Password: ??

  27. Im getting an error “No input file specified” when trying to login. Any help would be great.

  28. waths you password???

  29. A PHP Error was encountered
    Severity: Notice

    Message: Undefined index: name

    Filename: controllers/Orders.php

    Line Number: 336

    Backtrace:

    File: C:\wamp\www\restaurant\application\controllers\Orders.php
    Line: 336
    Function: _error_handler

    File: C:\wamp\www\restaurant\index.php
    Line: 315
    Function: require_once

    I NEED URGENT HELP ME

  30. hi guys hope you can assists me error when first install this

    An uncaught Exception was encountered
    Type: Error

    Message: Call to undefined function mysql_connect()

    Filename: /Applications/XAMPP/xamppfiles/htdocs/restaurant/system/database/drivers/mysql/mysql_driver.php

    Line Number: 136

    Backtrace:

    File: /Applications/XAMPP/xamppfiles/htdocs/restaurant/application/core/MY_Controller.php
    Line: 7
    Function: __construct

    File: /Applications/XAMPP/xamppfiles/htdocs/restaurant/application/core/MY_Controller.php
    Line: 18
    Function: __construct

    File: /Applications/XAMPP/xamppfiles/htdocs/restaurant/application/controllers/Auth.php
    Line: 10
    Function: __construct

    File: /Applications/XAMPP/xamppfiles/htdocs/restaurant/index.php
    Line: 315
    Function: require_once

  31. Christian Zambrano February 24, 2019 at 4:32 pm

    A PHP Error was encountered
    Severity: Notice

    Message: Undefined index: name

    Filename: controllers/Orders.php

    Line Number: 336

    Backtrace:

    File: C:\wamp64\www\restaurant\application\controllers\Orders.php
    Line: 336
    Function: _error_handler

    File: C:\wamp64\www\restaurant\index.php
    Line: 315
    Function: require_once

    help!!

  32. Incorrect username/password combination

    login isn’t happening.
    changed the email and password in the db as well yet log in isn’t happening. gives the same above error.

  33. Please put this on GitHub so people can post issues and help fix the program (and avoid dangerous mediafire ads). Many people seem to want this web application to work. Is this you: https://github.com/codersfolder?

  34. There are not many responses here, so try posting your issues and fixes at https://github.com/poikilos/cf-restaurant-online and we can get a community going around this!

  35. when i type localhost:8888 it says site cant be reach how will I fix this.

  36. SIR,
    I AM REMOVE VAT
    AND ADD { GST }
    PLZ HELP
    THANKS.

  37. Hello, thank you so much for the source code and the tutorial installation. But I have a problem:
    REMOVE VAT
    AND
    ADD GST.
    PLZ HELP
    THANK YOU.

  38. i am getting the error of unable to connect to database

  39. “Can anyone provide me with the full documentation report of this project please.. “

  40. janith thenuwara May 24, 2019 at 8:42 pm

    Fatal error: Can’t use method return value in write context in C:\xampp\htdocs\restaurant\application\core\MY_Controller.php on line 21
    A PHP Error was encountered
    Severity: Compile Error

    Message: Can’t use method return value in write context

    Filename: core/MY_Controller.php

    Line Number: 21

    Backtrace:

  41. how to login bro ??
    email = [email protected]
    , password = ??
    know that i am add a new user via the database and then went to the login page and entered the user that i created but there was an error !!

  42. Sivasankari Manikandan June 3, 2019 at 11:01 pm

    Getting below error when i am connecting this to sqlsrv (mssql) database
    Changed this driver details to ‘dbdriver’ => ‘sqlsrv’, in database.php

    A PHP Error was encountered
    Severity: Notice

    Message: unserialize(): Error at offset 10 of 829 bytes

    Filename: core/MY_Controller.php

    Line Number: 30

    Backtrace:

    File: C:\xampp\htdocs\MainDelin\application\core\MY_Controller.php
    Line: 30
    Function: unserialize

    File: C:\xampp\htdocs\MainDelin\application\controllers\Dashboard.php
    Line: 7
    Function: __construct

    File: C:\xampp\htdocs\MainDelin\index.php
    Line: 315
    Function: require_once

    A PHP Error was encountered
    Severity: Notice

    Message: unserialize(): Error at offset 10 of 829 bytes

    Filename: core/MY_Controller.php

    Line Number: 32

    Backtrace:

    File: C:\xampp\htdocs\MainDelin\application\core\MY_Controller.php
    Line: 32
    Function: unserialize

    File: C:\xampp\htdocs\MainDelin\application\controllers\Dashboard.php
    Line: 7
    Function: __construct

    File: C:\xampp\htdocs\MainDelin\index.php
    Line: 315
    Function: require_once

  43. Dear..

    first of all thanks for your great effort ..
    i want to give u idea ..

    we need to add the ability to add multi-stores and each store have its products and categories and users .. and order ..

    thanks

  44. I found and error. it’s all perfect but only the button paid /unpaid does not change, and remains unpaid which makes the order to don’t go to the Paid Orders. please someone can help i appreciate regards .

  45. I’m getting this error DataTables warning: table id=manageTable – Invalid JSON response.what’s wrong

  46. [ DataTables warning: table id=manageTable – Invalid JSON response. For more information about this error, please see http://datatables.net/tn/1 ] i dont solve this error please help me brother call me +91 7426045808 please

  47. Hi dear
    can you please tell me how to use Authentication Username instead of email
    i found the file of authentication on
    C:\xampp\htdocs\parking\application\controllers\Auth
    but i aint change the email function with user
    help please
    regards

  48. incompleted source 🙁
    🙁
    🙁
    🙁
    🙁
    🙁

  49. DataTables warning: table id=manageTable – Invalid JSON response. For more information about this error, please see http://datatables.net/tn/1

  50. A PHP Error was encountered
    Severity: Warning

    Message: mysqli::real_connect(): (HY000/1045): Access denied for user ‘root’@’localhost’ (using password: YES)

    Filename: mysqli/mysqli_driver.php

    Line Number: 201

    Backtrace:

    File: C:\xampp\htdocs\restaurant\application\core\MY_Controller.php
    Line: 7
    Function: __construct

    File: C:\xampp\htdocs\restaurant\application\core\MY_Controller.php
    Line: 18
    Function: __construct

    File: C:\xampp\htdocs\restaurant\application\controllers\Auth.php
    Line: 10
    Function: __construct

    File: C:\xampp\htdocs\restaurant\index.php
    Line: 315
    Function: require_once

    A Database Error Occurred
    Unable to connect to your database server using the provided settings.

    Filename: C:/xampp/htdocs/restaurant/system/database/DB_driver.php

    Line Number: 436

  51. Please send me the latest bug free source code or updated project (Restaurant Management system) on [email protected]. It will help me a lot. Thanks!

  52. A PHP Error was encountered
    Severity: Warning

    Message: mysqli::real_connect(): (HY000/1045): Access denied for user ‘root’@’localhost’ (using password: YES)

    Filename: mysqli/mysqli_driver.php

    Line Number: 201

    Backtrace:

    File: C:\xampp\htdocs\restaurant\application\core\MY_Controller.php
    Line: 7
    Function: __construct

    File: C:\xampp\htdocs\restaurant\application\core\MY_Controller.php
    Line: 18
    Function: __construct

    File: C:\xampp\htdocs\restaurant\application\controllers\Auth.php
    Line: 10
    Function: __construct

    File: C:\xampp\htdocs\restaurant\index.php
    Line: 315
    Function: require_once

  53. Im getting an error, Error/
    DataTables warning: table id=manageTable – Invalid JSON response. For more information about this error, please see http://datatables.net/tn/1 in orders page

  54. The store field is now blank. When i check the json response it is null