A sample mobile Web app using Google App Engine for Java, Objectify, and Jersey on the server along with GWT Activities & Places and Resty-GWT on the client.
Use the issue tracker to report bugs or request enhancements.
Download the sample
git clone https://github.com/turbomanage/contactmgr.git
- If you don't already have it, install Maven 3.
Run the sample
mvn -Prelease clean package appengine:devserver(Release profile builds the obfuscated GWT app)
- Browse to http://localhost:8080/contactmgr/index.jsp
Run the sample in GWT super dev mode
mvn clean package appengine:devserver_start(starts in background)
mvn gwt:run-codeserver(starts super dev mode)
- To debug on the server side, wait for the message "Listening for transport dt_socket at address: 8000" then configure a Java remote debugger in your IDE on port 8000 and launch it to attach.
- To debug the client, browse to http://localhost:8080/contactmgr/index.jsp. Hit Ctrl+P (Cmd+P) in Chrome dev tools to open a Java file, set breakpoints, etc.
Alternatively, you can run GWT dev mode directly with Google Plugin for Eclipse or IntelliJ full edition (see further instructions).
Setup with IntelliJ
- Import the project into IntelliJ as a Maven project.
- If you have IntelliJ full edition, you can run GWT dev mode in the IDE as usual.
Note: In the IntelliJ run configuration, you may want to add the following VM options:
-Xmx2gGive dev mode more RAM
-Ddatastore.backing_store=path/to/contactmgr/local_db.binPrevent the datastore getting wiped from the target dir
In addition, the following Dev Mode parameter will allow you to browse from a mobile device on the same wifi network:
Finally, in the run configuration dialog, select the specific Server version in the POM; for example, App Engine 1.9.18.
The start page is contactmgr/login.
Setup with Eclipse
- Install the Google Plugin for Eclipse.
- Import the project into Eclipse as an existing Maven project.
The sample includes G+ and Facebook login integration. The buttons are found in src/main/webapp/index.html. Simply look for the TODOs where you need to replace the CLIENT_IDs and secrets with those found in the respective developer consoles.
Upload to App Engine
Before uploading to App Engine, replace the application ID and version in src/main/webapp/WEB-INF/appengine-web.xml. To obfuscate the GWT code, making it smaller, build with the maven "release" profile.
mvn -P release clean package appengine:update