Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
An app for managing a ping pong league. Python/Django based, Google App Engine-deployable.
Python JavaScript Shell
Branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
bin
images
js
lib
stylesheets
templates
templatetags
test
.gitignore
LICENSE
README
admin.py
app.yaml
cron.yaml
index.yaml
main.py

README

OPONGER
-------

An app for managing the OPOWER Ping Pong league. Currently, the app
supports:
* Viewing the rules
* Getting the latest info on league tournaments. Specifically, the Cinco de Mustache
  OPONGER tournament where 8 players will contend for the OPONGER title and some
  ridiculous prizes.
* Updating profile info: location (SF or DC) and pseudonym
* Creating a new game
* Viewing all "available" games, i.e. games you can join
* Viewing all "active" games, i.e. games people are playing, but have not been completed
* Viewing all players
* Joining a game
* Canceling a game
* Game result updating
* Viewing all completed games
* Viewing games by player
* Basic player stats
* Ranking
* Admin site with a couple of features
* Email when someone joins your game
* Batch rank calculations
* ELO Ranking System
* RPI (Rating Percentage Index) ranking system as an alternative to ELO

Planned features
----------------
* Ability to "challenge" another player

Live app URLs
-------------
http://oponger.opower.com
http://opingopong.appspot.com


Implementation
--------------
The app is a basic Google App Engine Python application. For more info, check out http://code.google.com/appengine/


Source Repository
-----------------
https://github.com/opower/oponger
To check out oponger with git:
    git clone git@github.com:opower/oponger.git /path/to/oponger

This will set the github repo as the "origin". To push your local changes from the "master" branch:
    git push origin master

To push the app to Google App Engine:
    appcfg.py update /path/to/oponger


Running The App Locally
-----------------------
To run the app, you'll need to download and install Google App Engine Python SDK from:
    http://code.google.com/appengine/downloads.html#Google_App_Engine_SDK_for_Python

Once you've installed it, you can run it from the command line, using:
    dev_appserver.py /path/to/oponger

Or, you can fire it up using the handy dandy GoogleAppEngineLauncher, which provides handy links to the
dashboard, logs, and more.


Working With IntelliJ
---------------------
Once you've got the project checked out and Google App Engine Python SDK installed,
you can work with the project through IntelliJ.

* Install the Python Plugin
* Create a New Project
** Choose New Project, Python Module
** + to configure Python SDK
** Select your version of Python. On a Mac, this will be under System/Library/Frameworks/Versions/2.6/python
** Under "Please select the desired technologies", Select Google App Engine
** If asked for the Google App Engine SDK, under OSX that should be in
    /Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine

Backing up production data
--------------------------
Using Google App Engine's bulk data loader, the following script downloads all data into a timestamped CSV file:
    bin/download_data.sh

Testing
-------
To run a unit test:
    cd test
    python <test_name>
Something went wrong with that request. Please try again.