Skip to content
/ Choices Public

A small GAE application for testing purposes

Notifications You must be signed in to change notification settings

Klemek/Choices

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Scc Count Badge Language grade: Java Language grade: JavaScript Total alerts

Choices

A small maven project to test Google App Engine features.

It allow you to create question-based rooms and with the room number other people can login and respond to questions on their mobile.

See API description

Features

  • Room creation
  • Google + login
  • Mobile answering
  • Question database / customisation

Languages / Frameworks / Libraries

  • Front :
    • HTML 5 / CSS 3 / ECMA 6
    • JQuery 3.3.1
    • Bootstrap 4.1.1
    • Bootstrap Slider 10.0.2 (+fix for BS4)
    • Font-awesome 5
    • MathJax 2.7.4
    • SheetJS
  • Back :
    • Java 8
    • Google Appengine API 1.9.64
    • Google Cloud Client 0.47.0-alpha
    • JSON 20180813 (json.org)
    • Betterlists 1.4 (klemek)
    • SimpleLogger 1.3 (klemek)
    • Testing : Junit 4.12
    • Testing : Mockito 2.19.0
    • Testing : Powermock 2.0.0-beta.5

Launching the project

Before launch

First, in your Google App Engine project, make sure Datastores and Google+ APIs are enabled. (or follow this link to do so)

Get OAuth2 credentials if you haven't already (see how in this page)

Then create a release.properties file (located in the src/main/java/resources folder) which contains

admins={every admin's mails separated by ;}
auth.clientID={OAuth2 client ID}
auth.clientSecret={OAuth2 client secret}
mail.recipient={report mail recipient}
mail.sender={report mail sender, ex:report@yourapp.appspot.com}
mail.title={report mail title}
app.name={self explaining}

Don't forget to replace app.id and app.version in the pom.xm properties

Launching development server

You can launch the project with the jetty command :

mvn clean verify jetty:run -Plocal

Or appengine command :

mvn clean verify appengine:run -Plocal

Please note that, unlike App Engine, Jetty will load static files (html, css, js, etc.) directly from the source folder which allow you to do live front-end development.

You can add -DskipTests to skip all tests.

Uploading to Google App Engine

Upload the project to Google App Engine with :

mvn clean verify appengine:deploy