The Wahlzeit Java framework for Photo Sharing and Rating websites
Java HTML Other
Latest commit 4d5f182 Oct 16, 2016 @dirkriehle committed on GitHub Merge pull request #65 from michaeldorner/master
Failed to load latest commit information.
src Removed @author tag. There are too many reasons to count why such a tag Oct 10, 2015
LICENSE.txt Initial import. Sep 5, 2012 Update Oct 14, 2016
gradlew.bat updated a real fork with all the changes of MigrateWahlzeitIntoTheCloud Jun 16, 2015

Wahlzeit: Open Source Software for Photo Rating Sites


Wahlzeit is an open source web application that lets users upload photos and rate photos of other users on a 1..10 scale. Users get to present their best photos and learn what other users thought of theirs.

Wahlzeit is used to teach agile methods and open source software development at the Professorship of Open Source Software at the Friedrich-Alexander-University of Erlangen-Nürnberg.

It is an easy-to-learn yet complete Java web application that is available under the GNU Affero Public License v3 license, see the LICENSE.txt file.

Starting Wahlzeit 2.0, Wahlzeit is a Google App Engine app. It can be run on your local machine or be deployed to Google App Engine for broader availability.

For more information, please see and


Set-up development for Wahlzeit

  1. Install Java JDK¹
  2. Set JAVA_HOME
  3. Install git
  4. If you don't have one yet, create a GitHub account (required)
  5. Create your own repository by forking Wahlzeit from dirkriehle to your GitHub-account
  6. On the command line, create or choose a project directory and go there
  7. Run git clone<yourname>/wahlzeit.git

Run Wahlzeit on your local machine

  1. On the command line, cd wahlzeit
  2. Run ./gradlew appengineRun
  3. Wait until all gradle and project dependencies have been downloaded and the local instance has been started, which could take some minutes
  4. Open http://localhost:8080 to try out Wahlzeit on your machine

Debug Wahlzeit on your local machine

  1. Run Wahlzeit on your local machine (see above)
  2. Create a remote java debug configuration in your IDE with host localhost and port 8000 (not 8080)

Deploy Wahlzeit to Google App Engine

Create a Google App Engine instance:

  1. If you don't have one yet, create a Google account (required)
  2. Go to and login with your Google account
  3. In the developers console, select create a project
    1. Choose a project name, called below yourprojectname. If your yourprojectname is not unique, a UID will be added: yourprojectname = yourprojectname + <some Google UID>
    2. Accept the terms of service, for better or worse

Configure your repository and deploy Wahlzeit

  1. Configure your project:
    1. Open the file /src/main/webapp/WEB-INF/appengine-web.xml
    2. Replace <application>dirkriehle-wahlzeit</application> with <application>yourprojectname</application> where yourprojectname is your previously choosen project name
    3. Save and close the appengine-web.xml
  2. Run ./gradlew appengineUpdate
  3. If a browser window pops up and asks for permission, accept it
  4. Copy the code from the browser window to your gradle console and hit enter
  5. If everything works out, you will find your project at


¹ Gradle compiles automatically to JDK 1.7, because later versions are not yet supported by Google App Engine Standard Environment