Foodknot - Complete Restaurent Management System

by Widertheme

Getting Started

Foodknot is Advanced Laravel-VueJS POS system to Manage the Orders.

Introduction

Foodknot is a Advanced Laravel-VueJS POS System that you can handle your Restaurant orders smoothly and fastly.


Technologies used

  • PHP
  • Laravel
  • Vue.js
  • Bootstrap 4
  • jQuery
  • Select2
  • MySql

Key Features

  • Product Customization
  • Powerful POS (Point of Sale)
  • POS auto-logout within 15 minutes if there is no activity (You can configure the timing through .env)
  • KDS (Kitchen Display System)
  • Invoice Header and footer customizable
  • Categorize food Combos
  • Floorplan (Table) Management
  • Ingredient categories and Ingredient Modifier with price
  • Tax Modifier (Enabled tax will apply in all the transaction effectively)
  • Dine in/Delivery/Takeaway
  • User Privilege (Super admin, Kitchen Manager, Waiter and Sub admin)
  • Clean and Responsive Design
  • Totally Secure System
  • SEO Optimized
  • SEO-Friendly URL
  • Advanced Settings Options
  • Change Logo, Favicon, Site Title, Site Description, etc. from Admin Panel
  • Detailed Documentation

Module

List :
  • Dashboard
  • POS
    • Item with price displayed
    • Filtration options include Ingredients, Combo, and Veg Only
    • Choose complimenting ingredients added by the administrator
    • Item size variation
    • Easy and fast add to cart item
    • Filling out the guest details and table number
    • When a user has already come earlier, the details will automatically be populated
  • Orders
    • Showing ongoing orders with time
    • The amount of the order, the guest's name, and the table number for orders placed
    • A minute-by-minute change in timing
    • Orders from the past are displayed first
    • After the order has been served and paid, it will be dispensed.
    • Print Invoice
  • Menu Management
    • Menu customization
    • Categories Management
    • Ingredients Management
    • Create Combo
    • Add Items
    • Add Items
  • FloorPan (Table Management)
    • Menu customization
    • Categories Management
    • Ingredients Management
    • Create Combo
    • Add Items
  • Completed Orders
    • Sort the completed orders
    • Send Invoice to email
    • Print Invoice
    • Search Order
  • Setting
    • General Setting - Change Logo, Favicon, Site Title, Site Description, address, timezone.
    • Currency Setting.
    • Tax Setting - Enabled tax will apply in all the transaction effectively.
    • User Management - Defined User roles.

Dashboard:
In this panel, you'll see the Orders Count, Completed Orders Count, Pending Orders Count, and Total Billed Count.
  • List of 5 latest orders.
  • List of top 5 selling products.
  • List of the latest 5 recently added product.
  • List of the latest 5 recently updated products.

POS:
The user can scroll right to see all the items categorized at the top of the page. Above the item is a filter that helps the user sort items into 'veg only', 'ingredients', and 'combo'.
  • Veg Only : Upon checking this button, the User will be able to view the Veg-only Items that were configured while adding the product.
  • Combo : With Checking this button, the user will be able to view the Combo items that were added by administrator.
  • Ingredient : Users can order extra cheese, ketchup, or anything from the ingredients list after placing their order. In order to do that, we added a function to sort an ingredient within it.

We defined two option to choose a complimentory Items with the primary one. "Add to Cart" and "Select Your Choose".
The "Add to cart" button appears dynamically when there is no additional ingredient added during product creation.
When you click the "Select your choose" button, a pop-up appears showing multiple options for Item selection. Like a small, medium, or large. The user can choose from a variety of ingredients provided by the restaurant. Making user preferences while ordering is necessary.
Right side, there are a cart which shows summary of your ordering Item. You can choose items, add it to cart, Increase and decrese the quantities, delete the items from cart, shows a total amount with tax included.

Orders:
This will show a ongoing orders with the timing (in minutes)

Categorized the orders with tables. Order amount and guest name will displayed above. Waiter can hit 'Serve' when they serve the food, Admin can hit 'Pay' when they paid the amount and order will be disappeared from this board after they done payment in 7 seconds (You can configured this seconds from .env).
This order will be moved to 'Completed orders'.

Menu Management:

  • Category :
    Here the category list is shown with its name image and total product count of that category.
    Here is the functionality to edit, delete and add new categories.
    Here is the functionality to edit, delete and add new categories.
    Clicking on the total number of products lists the ingredients of that category. And there are those ingredient delete, add and edit functions.

  • Ingredients :
    Here the ingredient category list is shown with its name image and total ingredient count of that category.
    Here is the functionality to edit, delete and add new ingredient categories.
    Clicking on the total number of ingredients lists the ingredients of that category. And there are those ingredient delete, add and edit functions.

  • Combo :
    Here the combo list is shown with its name, image and price.
    Here is the functionality to edit, delete and add a new combo.

  • Product :
    Here the products list is shown with its name image.
    Here is the functionality to edit, delete and add new products.


Floor Plan :
A list of tables is shown in which the status of each table is whether it is active or inactive, also whether the table is empty or has an order. And if there is an order, they will show the minutes of last activity.
From here, admin can activate and deactivate the table and also add new table.

Completed Orders :
A list of completed orders is shown. And on the click of this order on the right side, the details of that order are shown to the right side from where, user can see all the summary of orders including tax amount. User can print the invoice, send guest to their email if they provided while placing an order.
We have enables user to sort the orders according to date.


Settings :

  • General Setting :
    General setting of the website can be changed like restaurant name, address, logo etc.

  • Currency Setting :
    To set the default currency in the entire website.

  • Taxes Setting :
    Tax setting will apply to the all orders effectively.

  • User Management :
    It shows the list of users type wise like super admin, sub admin, kitchen manager and waiter.
    Apart from this, the functionality of user add, edit and delete is shown.
    We limit the access for the waiter, kitchen manager, and admin. Like Kitchen manager has nothing to do with dashboard, serve, pay, or setting tab. Waiter has nothing to customized the items, price or anything.


Installation

Make sure you have system requirements properly.
For installation, you should have primary knowledge of Laravel and vuejs application installation since this application is built on Laravel with VueJs

Primary Requirements:
  • PHP 8
  • Mysql
  • Composer Installed
  • Other PHP Extensions for Laravel mentioned here on Laravel Website
  • Optional: You can also update the below variables in the php.ini file if you want to upload bigger files:
    • upload_max_filesize = 50M
    • max_file_uploads = 50
    • post_max_size = 100M


Guide :
  • Step 1 : Get files from the source zip or git.
  • Step 2 : After install composer using (composer install).
  • Step 3 : Create Database on you mysql server(phpmyadmin).
  • Step 3 : After copy .env.example to .env file.
  • Step 4 : Changes on .env file.
    • APP_NAME : Name of your Application
    • APP_URL : Change this URL with your server URL (including trailing path if you are putting it in sub folder or root website)
    • DB_HOST : Put your database hostname
    • DB_PORT: application port
    • DB_DATABASE: your database name
    • DB_USERNAME: Created User name for your database
    • DB_PASSWORD : Password of your database access
    • MAIL_USERNAME : Username of your mail configuration
    • MAIL_PASSWORD : Password of your mail configuration
  • Step 5 : Call Command : php artisan key:generate
  • Step 6 : Call Command : php artisan optimize:clear
  • Step 7 : After install npm using (npm install).
  • Step 8 : Call Command : npm run dev
  • Step 9 : Call Command : php artisan serve