Squash Logs – Amazon Web Services

Posted in Big Data, Cloud Tagged , , ,

Right from start, this project necessitated creation of design which is scalable in the cloud.

The data-store needed to be cloud based.

The concept is that on a web-request, the html page is pulled up, as a static file – from Cloudfront – which will then use JavaScript to populate the Opponents and Locations. So basically each user will not have to hit the web server or the database at all, unless they add a new Opponent/Location, or save a game result. On saving a call to DynamoDB is made to save the squash game data.

Basically each user had 2 sets of data – opponent list and location list. He could add values to this data set any time through the log form.

For each user, we have created json location file and json opponent file to store data on S3/Cloudfront. Hence user data is loaded very fast, without any serve load. Whenever user edits this data, the json files are updated via Amazon Web Services, API call.

An example of the implemented URL format would be:  https://s3.amazonaws.com/bucket_name/opponent_list/user1.json  Here “user1.json” is a random name, so users cannot loop through others users opponent or locations, by randomly guessing names.

Once the user clicks save, the data is sent to DynamoDB datastore via Amazon Web Services API. Admin can also update these logs or delete them via API calls.

You can read more about this project here.