Library Tweet Support

TR Number
Journal Title
Journal ISSN
Volume Title
Virginia Tech

This project aims to create an easily browsable interface with a collection of NDJSON formatted tweets from Twitter.

In the Fall of 2020, 4 teams in CS5604 built a system to manage 3 of the University’s archive collections, of ETDs, Webpages, and Tweets. This system included a webpage front-end to serve these collections to users, as well as a feature for researchers and curators to manage data using a KnowledgeGraph and Apache Airflow.

The one front-end team developing this website had a very large task and as such, they were unable to fully flesh out all its features. Specifically, the tweets portion of this website was lacking advanced searching functionality, as well as a clear interactive user interface. My project focused on extending the tweets functionality of this website and managed to accomplish this.

My project features a GUI where users can search through the tweets collection and will have results displayed to them one at a time. In my implementation, I used React, CSS, and ElasticSearch. However, the website it is contained in also uses Docker, Flask, Kubernetes, and Python 3.6. The search fields are text, location, and a range search between two dates. When a query is conducted, results will be displayed to the user 5 at a time. Each tweet result contains both the information contained within the tweet result (i.e., username, display name, tweet text, date, favorites, replies, and retweets) as well as data on the user who published the tweet (i.e., total favorites, total posts, total followers, and a link to the source tweet). Also, if a tweet contains a hashtag, each of these are linked to a search on Twitter for that hashtag.

This project can be used to browse an archive of tweets. It will be useful in querying tweets for research, such as searching for all tweets made about a subject that were posted from a certain location at a certain time.

Twitter, Tweets, Library, ElasticSearch, React, Indexing