Open Source Search Engine Description
General purpose search engines, as well as search functions within web sites are key to making navigation easy for users. This project will provide students with a chance to practice: building a web app with a third-party API, using an open-source search engine to build your own search feature, and building a user friendly interface for both search inputs and outputs.
In this project, we challenge you to use the Twitter API and ElasticSearch to create a Twitter search feature based on geolocation. Your implementation should be able to stream Tweets real-time from Twitter and index/store those tweets into ElasticSearch. The web application should have a good interface for users to enter search information. Finally, this app needs to be deployed on a cloud-platform.
Create a web application that has the following functionality:
User can input latitude/longitude and search radius in user interface
All tweets inside the selected area will be listed in a table
User can input keyword/hashtag to filter search results (this search only implemented in backend)
Only recent 500 tweets showed in the list and sorted by time created
Search results also show up in a Google map with dropped pins
User can click pin in Google map to get full tweet
Build a small cluster to consume Twitter API data faster
Implement auto-complete in search textfield
Suggested Prerequisite Knowledge
Knowledge of Ruby/Python/Node and Restful API
Please upload your final code to your Github account.
Please record a video explaining the design choices you made including: the indexing you used, how you chose to design your front end search inputs and outputs to make it user friendly, and any other functionality you would like to highlight. Please keep the video under 5 minutes.