Whuffie

From Nasatweetup

(Difference between revisions)
Jump to: navigation, search
(Overview)
(Replaced content with 'This page has been moved to: http://spaceuphouston.org/wiki/index.php?title=Whuffie')
 
Line 1: Line 1:
-
'''See also: [[Mission Data]]'''
+
This page has been moved to: http://spaceuphouston.org/wiki/index.php?title=Whuffie
-
 
+
-
----
+
-
===Overview===
+
-
Whuffie is the karma backend to be used by the [[Mission Data]] project.  It provides a simple database for tracking points for a user, as well as adding an removing points from that user using a simple RESTful API.  It is broken out into a separate application from the main project so that it can be replaced or augmented without affecting the main application.
+
-
 
+
-
===Etymology===
+
-
[http://en.wikipedia.org/wiki/Whuffie Whuffie] is a term coined by [http://en.wikipedia.org/wiki/Cory_Doctorow Cory Doctorow] in his book ''[http://en.wikipedia.org/wiki/Down_and_Out_in_the_Magic_Kingdom Down and Out in the Magic Kingdom]'' as the currency in a reputation-based economy.
+
-
 
+
-
===How To Use===
+
-
How to use Whuffie is up to you.  In the [[Mission Data]] application, it is used as a karma indicator for users as to the quality of data they are posting. Higher Whuffie means their data is automatically considered better than someone with lower Whuffie, but their content is voted up or down by other users and that impacts their Whuffie.
+
-
 
+
-
'''TO DO''': We need some sort of guidelines for the amounts. If this becomes the SpacePoints database, the guidelines should come from the group working on it.
+
-
: '''Some discussion on this topic can be found here: http://spaceuphouston.org/wiki/index.php?title=Space_Points'''
+
-
 
+
-
===Application Developers===
+
-
In order to use the Whuffie system, your application must use OAuth to authenticate to the API using "2 legged" authentication.  Credentials must be obtained manually for the time being.  Once you have your credentials, you are able to add and remove as many points as desired, but every transaction will be logged and there must be a descriptive reason provided for the transaction.
+
-
 
+
-
The users that you are transacting points for must be authenticated to your application using OAuth and a supported service. Currently, the supported services are:
+
-
* Twitter
+
-
* (yes, short list - if you have another, tell us)
+
-
 
+
-
When specifying a username, you must provide both the username and the service used for authentication.  This assures that points from multiple applications all go to the same user account.
+
-
 
+
-
===API===
+
-
* /users
+
-
** GET: List all users
+
-
** POST: Create a new user
+
-
* /users/<user_id>
+
-
** GET: Return balance for user
+
-
** POST: NoOp
+
-
* /transactions
+
-
** GET: List all transactions
+
-
** POST: Create transaction
+
-
* /transactions/<transaction_id>
+
-
** GET: Return transaction details
+
-
** POST: NoOp
+
-
 
+
-
Lists return a limited number of results per call (say 200). Need to be able to specify an offset and count to return. Also, the total number available should be returned with every result set.
+
-
 
+
-
===Schema===
+
-
Whuffie uses the [http://aws.amazon.com/simpledb Amazon AWS SimpleDB] as a database backend, so it does not have a strict schema (as SimpleDB is a NoSQL database).  However, the following data structures exist:
+
-
* User
+
-
** property: user_id (automatic)
+
-
** property: username
+
-
** property: provider
+
-
** property: balance
+
-
** property: created_at
+
-
** property: updated_at
+
-
* Transaction
+
-
** property: transaction_id
+
-
** property: user_id
+
-
** property: amount
+
-
** property: application
+
-
** property: description
+
-
** property: created_at
+

Latest revision as of 06:46, 17 June 2011

This page has been moved to: http://spaceuphouston.org/wiki/index.php?title=Whuffie

Personal tools
Namespaces
Variants
Actions
Navigation
Help
Tweetups
Toolbox