App Engine Java Modules Boilerplate Template
Appstart is an opinionated Java boilerplate template for rapid development of multi-module Google App Engine applications based on Google Guice, a lightweight dependency injection framework.
Appstart uses the App Engine Maven plugin, it has a parent pom and 3 maven projects. 2 of the projects (appstart-front and appstart-backend) are App Engine modules.
App Engine multi-module applications are organized as an unpacked Java Enterprise Archive (EAR) directory structure. This project contains the following directories:
application.xml
and appengine-application.xml
<instance-class>F1</instance-class>
and<instance-class>B2</instance-class>
.Appstart encourages the Single Page Application (SPA) pattern by providing backend services as APIs that can be invoked from any frontend, be it Web or Mobile. The philosophy of Appstart is to enable you to spend less or no time writing boilerplate code and more time focusing on your business logic.
A live demo is available here https://appstart-web.appspot.com/.
Explore the Cloud Endpoint API for Appstart here.
The following key technologies/libraries are used by Appstart. You can either use some or all of these technologies depending on your needs:
You need to change the following values with your own:
<appengine.app.name>appstart-web</appengine.app.name>
) in appstart/pom.xml<appengine.app.version>v1</appengine.app.version>
) for appstart-front and appstart-backend located in the pom.xml for each module.appstart/appstart-frontend/src/main/java/uk/co/inetria/appstart/Constants.java
) and (appstart-frontend/src/main/webapp/js/endpoint.js
) to reflect the respective client IDs you have registered in the APIs Console.To run or deploy the application (all modules):
git clone https://github.com/omerio/appstart.git
cd appstart
mvn install
cd appstart-ear
#to test it locally:
mvn appengine:devserver
#or to deploy it:
mvn appengine:update
To deploy or run individual modules:
cd appstart-frontend
#to test it locally:
mvn appengine:devserver
#or to deploy it:
mvn appengine:update
Contributions are welcome and encouraged, simply fork the project make your changes and submit a pull request.
Open Source (Apache License 2.0)