pizzeriaA pizza ordering web application
Demo)
Pizzeria (A pizza ordering web application.
The app features a pizza builder that lets the user build a custom pizza from a number of ingredients, select a crust, size, bake and cut styles and desired quantity.
The user can also opt for one of the specialty pizzas, and either order one of those predefined templates or customize it however they like.
Pizza Builder on iPad
Pizza Builder on iPhone
Pizza Template
Checkout
Write a Review
Registration
Login
Design
High-level Package Diagram
Domain Model Class Diagram
Database Schema
Getting Started
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
Prerequisites
Maven
1.Node.js and npm
2.Braintree API keys
3.- Go to the sandbox version of Braintree.
- Sign up / log in.
- Go to Settings - API Keys and get the following:
- Merchant ID
- Public key
- Private key (you'll have to click 'View' to see it)
Google reCAPTCHA keys
4.- Go to Google reCAPTCHA and register a new site.
- Get the public (site) and private (secret) keys.
The keys above are not valid, so don't try to use them.
Running the app
1. Clone the repository
git clone https://github.com/pzinsta/pizzeria.git
2. Build the .war file
mvn clean package
3. Launch the app
The application won't start unless all the following properties are provided.
Property | Description |
---|---|
braintree.merchantId | Braintree merchant ID |
braintree.publicKey | Braintree public key |
braintree.privateKey | Braintree private key |
recaptcha.public.key | Google reCAPTCHA public (site) key |
recaptcha.private.key | Google reCAPTCHA private (secret) key |
We have two options here.
Option 1. Set the properties as environment variables.
If you've set the properties as environment variables, you can run the following command to start the app:
java -jar webapp/target/dependency/webapp-runner.jar --port 8081 --path pizzeria webapp/target/*.war
Option 2. Pass the properties as JVM arguments
In this case the command is going to be a bit more complicated.
java -Dbraintree.merchantId=<your Braintree merchant ID> -Dbraintree.publicKey=<your Braintree public key> -Dbraintree.privateKey=<your Braintree private key> -Drecaptcha.private.key=<your reCAPTCHA private key> -Drecaptcha.public.key=<your reCAPTCHA public key> -jar webapp/target/dependency/webapp-runner.jar --port 8081 --path pizzeria webapp/target/*.war
You can modify the port and the context path. Also, there are other options available.
4. Verify
Go to http://localhost:8081/pizzeria/ to check that the app is up and running.
Built With
- Maven
- Spring MVC
- Spring Web Flow
- Spring Security
- Hibernate ORM
- Hibernate Validator
- JUnit 4
- Mockito
- AssertJ
- Apache Commons (lang, io, collections, dbcp, text, rng)
- Google Guava
- Moneta
- H2
- PostgreSQL
- Bootstrap 3
- Font Awesome
- Angular
License
This project is licensed under the MIT License - see the LICENSE file for details
Acknowledgments
- jsimone/webapp-runner - Webapp runner is designed to allow you to launch an exploded or compressed war that is on your filesystem into a tomcat container with a simple java -jar command.
- schemacrawler/SchemaCrawler - Free database schema discovery and comprehension tool
- triologygmbh/reCAPTCHA-V2-java - Java Bindings for reCAPTCHA V2
- sargue/java-time-jsptags - JSP tag support for Java 8 java.time (JSR-310)
- eirslett/frontend-maven-plugin - A Maven plugin that downloads/installs Node and NPM locally, runs NPM install, Grunt, Gulp and/or Karma.
- auxiliary/rpage - Highly responsive pagination for Bootstrap
- michaelbromley/ngx-pagination - Pagination for Angular
- NickeManarin/ScreenToGif - ScreenToGif allows you to record a selected area of your screen, edit and save it as a gif or video.
- Full Page Screen Capture - Captures a screenshot of your current page