OpenPizza was born as a Free and Open Source solution to manage Orders in Pizzerias during COVID-19.
The project tries to follow all the Best Practices to facilitate their development and maintenance.
- Laravel 7 - The web framework
- Laradock - Laradock is a full PHP development environment for Docker.
- Bootstrap 4 - The front-end open source toolkit
- SB Admin 2 - The Bootstrap 4 admin theme
- Bootstrap-select - jQuery plugin with intuitive multiselection
- jQuery - jQuery is a JavaScript library
- Chart.js - Simple yet flexible JavaScript charting
ATTENTION!
- The starting directory is the root of the project
- It's assumed that Docker is already installed on the machine
To try the application just follow the steps below:
- Change the extension of the .env file
mv .env.example .env
- Generate the key
php artisan key:generate
- Enter the credentials of the db
DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=pizzeriadocker
DB_USERNAME=admin
DB_PASSWORD=password
- Navigate to the "laradock" folder
cd laradock
- Start the container
docker-compose up -d nginx mysql
- Navigate to MySQL
docker exec -it laradock_mysql_1 bash
- Enter the terminal
mysql -uroot -proot
- Create the admin user and assign them privileges
CREATE USER 'admin'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost' WITH GRANT OPTION;
CREATE USER 'admin'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' WITH GRANT OPTION;
- Create the database
CREATE DATABASE IF NOT EXISTS `pizzeriadocker` COLLATE 'utf8_general_ci';
GRANT ALL ON `pizzeriadocker`.* TO 'admin'@'%';
FLUSH PRIVILEGES;
- Enter the Workspace
docker exec -it laradock_workspace_1 bash
- Load the preset demo data
php artisan db:seed
- At this point, just go to: http://127.0.0.1/ to access the demo. The credentials to access the Dashboard as Administrator and to access the User side are the following:
Admin = email: "[email protected]" pass: "password"
User = email: "[email protected]" pass: "password"