Project Details | |
---|---|
Course | BSc (Hons) in Software Development |
Module | Applied Project and Minor Dissertation |
Institute | Galway-Mayo Institute of Technology |
Students | Mark Gilmore & Joseph Griffith |
Project Supervisor | Martin Hynes |
Module Supervisor | Dr. John Healy |
Project Title | Restaurant Management and POS System |
Below is a video demo of the Restaurant Management and POS System can be found below where we demonstrate how the project functions: Link: https://www.youtube.com/watch?v=eIOMU4gAIvA
This repository contains code and documentation developed for our 4th year module, Applied Project and Minor Dissertation. The aim when creating this Restaurant Management and POS System is to address challenges in user productivity in a POS while maintaining accurate data on the transactions and business proceedings by developing a restaurant management system and the main goal of our project is to create a universal web-based restaurantmanagement and point-of-sale system with remote ordering capabilities. This web application was developed using Xampp, MySQL, AdminLTE, Php, Javascript/Ajax, TCPDF and Excel
Below is the Dissertation PDF of our project. The Dissertation was completed using LaTex(Overleaf), it contains an indepth view of the ins and out of the project ranging from the conception of the project to the conclusion and final thoughts.
Link: https://github.com/markgilmore10/Final-Year-project/blob/master/Overleaf/POS.pdf
XAMPP is a free and open-source cross-platform web server solution stack package developed by Apache Friends, consisting mainly of the Apache HTTP Server, MariaDB database, and interpreters for scripts written in the PHP and Perl programming languages.
MySQL is free and open-source software that acts as a relational database based of off the Structured Query Language - SQL, reasons to use MySQL include Secure Money Transactions, On-Demand Scalability, High Availability, Rock-Solid Reliability and Quick-Start Capability.
AdminLTE is a popular open source WebApp template for admin dashboards and control panels. It is a responsive HTML template that is based on the CSS framework Bootstrap 3. It utilizes all of the Bootstrap components in its design and re-styles many commonly used plugins to create a consistent design that can be used as a user interface for backend applications. AdminLTE is based on a modular design, which allows it to be easily customized and built upon. This documentation will guide you through installing the template and exploring the various components that are bundled with the template.
PHP is a server side scripting language. that is used to develop Static websites or Dynamic websites or Web applications. PHP stands for Hypertext Pre-processor, that earlier stood for Personal Home Pages. PHP scripts can only be interpreted on a server that has PHP installed.
JavaScript (JS) is a lightweight, interpreted, or just-in-time compiled programming language with first-class functions. While it is most well-known as the scripting language for Web pages while AJAX = Asynchronous JavaScript and XML. AJAX is a technique for creating fast and dynamic web pages. AJAX allows web pages to be updated asynchronously by exchanging small amounts of data with the server behind the scenes. This means that it is possible to update parts of a web page, without reloading the whole page.
You can use TCPDF to generate myriad 1-D and 2-D barcode formats, and it supports all of the usual PDF features like bookmarks, document links, compression, annotations, document encryption, and digital signatures.
Microsoft Excel is a spreadsheet program. That means it's used to create grids of text, numbers and formulas specifying calculations. That's extremely valuable for many businesses, which use it to record expenditures and income, plan budgets, chart data and succinctly present fiscal results.
The charts were created using Morris.js and Chart.js plugins. Morris.js lets the user create aesthetic charts in next to no time, it is made very simple using the public api for each chart, We decided to go with this as it was shown as a chart in the AdminLTE dashboard that looked exactly what we were looking for. We used Morris.js to create line and bar charts.
Chart.js like Morris.js, Chart.js is a free open-source JavaScript library for data visualization, Chart.js was also found on the dashboard we decided to go with this plugin as it's beautifully constructed charts such as their animated pie chart is what struck out to us.
To clone the application navigate to the directory you wish to have the project in once there, input the following command:
git clone https://github.com/markgilmore10/Final-Year-project.git
Download and set up a Xampp local server.
Link: https://www.apachefriends.org/index.html
Insert the cloned project folder into the htdocs folder from Xampp.
Download and set up Wamp.
Link: https://sourceforge.net/projects/wampserver/
Import the database using: Link: https://github.com/markgilmore10/Final-Year-project/blob/master/restaurantpos.sql
Finally navigate to localhost/pos.
Unfortunately neither of us have access to a tablet in which we could use for remote ordering, this function was although tested before Covid19 by connectiong to the same IPv4 address as the computer in which Xampp was running on.
As well as all of the above Unit tests were written for our application using PhpUnit to run created tests, all of our test can be found in the Link: https://github.com/markgilmore10/Final-Year-project/tree/master/tests/unit folder. These tests can be run using PhpUnit and once ran all test pass the desired tests that were documented.