An app for managing a ping pong league. Python/Django based, Google App Engine-deployable.
|bin||Added a data backup script.|
|images||Merged Yoni's changes with my own.|
|js||Removed notion of tracking scores and logic around validating them. R…|
|.gitignore||ignore idea droppings|
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 email@example.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>