Pizzeria (Demo)
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.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
1. Maven
3. Braintree API keys
- 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)
4. Google reCAPTCHA keys
- 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.
git clone https://github.com/pzinsta/pizzeria.git
mvn clean package
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.
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
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.
Go to http://localhost:8081/pizzeria/ to check that the app is up and running.
- 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
This project is licensed under the MIT License - see the LICENSE file for details
- 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