This repository includes two course assignment of mine. The twitter streaming part is under the root directory and is shared between both assignment. eb-flask
is a Flask application for assignment one, and eb-rails
is an RoR application for assignment two.
Check Cloud Computing | Trello for more resources regarding the assignments.
The goal of this assignment is to provide you experience in developing and deploying a web application using AWS Cloud services. Your web application would collect Twitts and do some processing and represent the Twitts on GoogleMaps. Following are the required steps:
-
Use Twitter Streaming API to fetch tweets from the twitter hose in real-time.
-
Use ElasticSearch(elastic/elasticsearch: Open Source, Distributed, RESTful Search Engine) or AWS CloudSearch to store the tweets on the backend
-
Create a web UI that allows users to search for a few keywords (via a dropdown). The keywords (up to 10) can be of your choosing.
-
Use Google Maps API to render these filtered tweets in the map in whatever manner you want.
-
Deploy your application on AWS Elastic Beanstalk in an auto-scaling environment.
-
Use the Amazon SQS service to create a processing queue for the Tweets that are delivered by the Twitter Streaming API.
-
Use Amazon SNS service to update the status processing on each tweet so the UI can refresh.
-
Integrate a third party cloud service API into the Tweet processing flow.