Giter Site home page Giter Site logo

oponger's Introduction

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 protected]: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>

oponger's People

Contributors

oby1 avatar yoni avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.