Giter Site home page Giter Site logo

boogle-problem-heroku's Introduction

boogle-problem-heroku

Sample webapp to deploy on heroku

Assumptions:

  1. This is a single machine application (If not, ID generation, playing action need to be atomic in a distributed environment. We should use some database and distributed locks(like zookeeper) to handle this)

  2. Thread safety is not needed for the test. (If not, the above solution applies for this problem too.

  3. The status of the application need not be persistent for a long time. So, I used HEROKU which doesn't manage the server side session. (Redis could be a simple solution for this which is provided by HEROKU. But, I didn't want to make it more complex for exercise)

  4. On HEROKU, "test with correct word" test fails. Because the network latency is high and the board expires caused by the low duration which is just 1000ms. Heroku data centers are in Europe and the US only and it causes high latency. Google AppEngine can work as it has data centers in Asia (Or any other which has Data centers nearby). We can fix that test in the following ways. a. We can increase the duration for the "plays game with correct word" test. b. Use cloud which has a data center at a nearby location. c. Run in local

  5. Unit test cases are not needed. (If not, need to add tests for each public method of each class)

  6. The boggle board is 4X4 and the size doesn't change. If not, The finding words solution can be extended easily and the whole project needs minimal changes.

  7. Added comments only when the method's name is not self-explanatory

Hosted location: https://boogle-game.herokuapp.com

boogle-problem-heroku's People

Contributors

manjeersrujan avatar

Watchers

 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.