shalintripathi / QuizApp_server

QuizApp server , written in tornado, horizontally scalable.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

#QuizApp Server This a clone of popular trivia app QuizUp , written totally in android, without use of any graphic libraries. The server runs on tornado, can scale over multiple instances by deploying more webservers. QuizApp uses websockets for the multiplayer game.

Its a eclipse android Project . You will also need QuizApp_Android the android client. Github QuizApp android client

###Steps to get the client and server working.

#Setting up Server :

  1. Launch mongoDB
  2. Configure Config.py , change the dbServer address to point to mongoDb.
  3. Change the WebServerMap and ExternalWebServerMap to appropriate address of how your server ip address looks from the internal and external viewpoint.
  4. Give a Unique server Id in Config.py

##Loading data to server 5. Configure load_spreadsheet.py with the your spreadsheet containing your data. see this sample sheet clone it. QuizApp server google SpreadSheet 6. 'python load_spreadsheet.py syncall' to sync all the sheet.. else it will sync only the data marked with "isDirty:1" in the sheet

###You can additonally load sample questions from telugu movies by 7. Load sample questions by running load_question_data.py and input as suggested in the output. 8. Once the data is loaded , start the server by running server.py

##Client Configuration 8. In ServerCalls.java change the SERVER_ADDR and CDN path variables to suit your need ,pointing to the webserver and the server which hosts your images and asset files.

Conversations/chatting works with Google GCM notifications for now. will change to websockets at later point of time.

#Scaling the webserver To launch a new webserver, change Config.py and add your current server to existing 'WebserveMap' and 'ExternalWebServerMap' with your server id , to the existing list , this list will be propagated to other servers , so update it carefully before launching the new server. You should be good to go, it integrates seemlessly in terms of horizontal scaling, MongoDb can be deployed in a cluster to scale the db . For any issues you can open up an issue or email abhinavabcd@gmail.com or vinay.bhargav.reddy@gmail.com

This was stared as a random project, needs many changes perticularly in ui. And bug fixes :P All contributions and modifications are copylefted.

##Enable GCM Create a project in google console and upate a gcm key inside Constants.py to enable notifications and other depeneds on GCM notifications.

#Screenshots

Thanks Vinay for contributions to code.

About

QuizApp server , written in tornado, horizontally scalable.


Languages

Language:Python 99.8%Language:Shell 0.2%