Looking for a basic game lobby for a card game. The game itself will not be played on the web site.
## Deliverables
There will need to be a login page, which should be mobile friendly (an Android app and an iPhone app will show the page in the mobile application, and use that to have the user log in and retrieve a session token). Users should be able to sign up/in using Google Accounts or Facebook. On initial sign-up, a basic user profile should be created. This profile will involve:
* user name
* first name
* last name
* location (city, state, zip only)
* birthday
* account creation date
The user will also be able to add:
*
bio description
* game type preference [4-player, 6-player or both]
* skill level [novice, intermediate, expert]
* friended users
* blocked users
* an option to allow other users to invite the user to games
These stats will also need to be handled (for both 4- and 6-player games):
*
total games played
* games won
* games lost
* games resigned
* novice games played
* intermediate games played
* expert games played
* total game play time
* average time spent per game
Users should be able to create a table or join a table, which can be public or private (private tables are only shown to friended users, blocked users cannot see public or private tables). A table can be for a 4- or 6-player game.
Only tables that are not full should be returned upon table list request, and the user should be able to choose whether to see 4-player games, 6-player games or both 4- and 6-player games. Games should be returned in order from oldest (first created) to newest (most recently created). A parameter will determine how many results are returned, which should be defaulted if not passed in.
As some users may resign in games or lose connectivity, there should be an option to mark games as open once this happens. That way, a table is able to get a replacement player. If a game is put back into the queue, the creation date will not change (such tables will show up first in the list of open games, as they're already in the middle of a game). Users should be able to set an option whether or not to show already open games (some users may not want to pick up where someone else left off).
Users will be able to chat with one another while in a game and in the game lobby.
Users should be able to invite other users, either by entering information manually or through Facebook contacts or Gmail contacts.
Communication to and from the web service should use JSON.
Thanks for taking the time to consider my project!