Skip to content

shalintripathi/QuizApp_Android

 
 

Repository files navigation

#QuizApp android
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 servers. QuizApp uses websockets for the multiplayer game.

Live Version here: http://appsandlabs.com/quizApp/quizApp.apk

Depends on: Google play services. Autobahn websockets (https://github.com/tavendo/AutobahnAndroid) Facebook SDK (facebook integration) MPCharts Lib (https://github.com/PhilJay/MPAndroidChart)

I have included the jars for autobahn and mpcharts, You should load the appcompat (v7) , googleplayservices lib and facebook sdk and load it in your eclipse. Add them to this project , rightclick>properties>android>libraries , remove the existing and point the correct one from your system.

Most client configuration is in Config.java , do have a look into it. All the 'in game App strings' in UiUtils.java , use them to navigate though the code.

Its a eclipse android Project . You will need QuizApp_tornado_server to launch the app you can clone it from here. Github quizApp Server

###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. download this sample sheet and clone it in your account. 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 server and the server which hosts your images and asset files respectively.

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

#Scaling the server To launch a new server, change Config.py and add your current server to existing 'WebserverMap' 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.

#Screenshots

Thanks Vinay for contributions to code.

#-- you may want to add the googleplay services lib by importing from sdk/extras

About

A Clone of popular trivia app QuizUp

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%