A CMS (Content Management System) web application to support restaurant management, customer contact and product ordering from created restaurants. For obvious reasons, the application does not have a payment system.
See live demo on: restaurants.miloszgilga.pl
- About the project
- Clone and install
- Prepare runtime configuration for UNIX
- Prepare runtime configuration for Windows
- Application stack
- Project status
This project was created with the cooperation of six people, one of whom was the main leader (Project Manager). The main core of the MVC application was written from scratch the most for of performance reasons. Application works with MySQL database version 7.4 and higher.
This application allows to create a user and restaurant owner account. User can add new products from multiple restaurants to the cart and the owner (after the system administrator approves the created restaurant) can add, modify and remove dishes from the created restaurant.
To install the program on your computer, use the command below (or use the build-in GIT system in your IDE environment):
$ git clone https://github.com/Milosz08/food-ordering-web-app
- If you don't have homebrew, install via:
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
- Downlad and install PHP, PHP composer, UFW and PhpMyAdmin:
$ brew install php
$ brew install composer
$ sudo apt-get install ufw
$ sudo apt install phpmyadmin php-mbstring php-zip php-gd php-json php-curl
- Download, install and turn on Apache WebServer (for Ubuntu and Debian):
$ sudo apt-get install apache2 # install apache webserver
$ sudo systemctl start apache2 # start webserver
$ sudo ufw enable # enable UFW
$ sudo ufw allow 8080/tcp # add port 8080 to the list
- Configure MySQL database:
$ sudo mysql
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'yourPassword';
- Move all files from cloned repo into
/var/www/htmldirectory. - Go to the project path in shell and install all dependencies via:
$ php composer install
- Create
.envin project root directory and fill with propriet values:
# database connection
DB_DSN = 'mysql:host=[hostName];dbname=[dbName]'
DB_USERNAME = '[databaseUsername]'
DB_PASSWORD = '[databasePassword]'
# smtp mail server connection
SMTP_HOST = '[smtpHost, ex. aws54.example.net]'
SMTP_USERNAME = '[smtpResponsed, ex. noreply@example.net]'
SMTP_PASSWORD = '[smtpPassword]'
SMTP_LOOPBACK = '[smtpLoopbackResponder, ex. info@example.net]'- Before you will run application, migrate
m1428_si_proj.sqlfile into127.0.0.1:8080/phpmyadmin. - Congrats, your app will be available on
127.0.0.1:8080.
- Download and install XAMPP from here
- Download and install PHP Composer from here
- Add to path variable path to your PHP pre-installed directory (for the most common installations, path will be
C:\xampp\php) - Move your cloned project into
/xampp/htdocslocation. - Do 4, 5 and 6 points from installation for UNIX.
- Congrats, your app will be available on
127.0.0.1:8080.
Project is finished.