Skip to content

Mapping trending topics to their geographic locations + sentiment analysis

Notifications You must be signed in to change notification settings

nathanielltaylor/tweetmaps

Repository files navigation

Build Status Code Climate

TweetMaps

An interactive mapping app that provides a sleek geographic interface to Twitter data on what people are talking about where, as well as analyses of how they feel about it.

Features

Trello board (currently private)

(Starred features are under consideration)

User Profiles

  • User sign up and authentication
  • User is publicly identified only by username

Mapping

  • Interactive map
  • Tweets superimposed on map
  • Trends superimposed on map
  • Fully JavaScript overlays
  • User location maps*

Data Querying

  • Trends searchable
  • Locations searchable
  • User searches are saved to personalize experience
  • User can delete searches permanently
  • User can hide their searches from other users without deleting them*

Recommendation Features

  • Ability to add recommended queries
  • Search recommendations with any number of parameters
  • Ability to vote on recommendations

Data Storage

  • Tweets stored in database for 3 minutes
  • Trends stored in database for 20 minutes

Sentiment analysis

  • By topic
  • By location
  • Visualized on heatmaps*
Original Icon Design Credits

"trend" by Daouna Jeong. "trend" by Ryo Sato. "hashtag" by juan manjarrez. "hashtag" by matthew hall. "Location" by Creative Stall. "Target" by luc vega. "Smile", "displeased", and "Sad" by Golden Roof. All from the Noun Project.

Future

  • Tweet text popups that include instagram links display the attached photos automatically
  • User can sign in with twitter and the app will generate a personalized dashboard for them, possibly including sentiment analysis of tweets in the user's feed

Local Development

I would love to work with anyone who is interested to further improve this application. To contribute, please:

  • Fork and clone down this repository
  • You will need seven API keys to run this app, which should be placed in a .env file
    • The first four are obtained from Twitter. Register your version of the app, and then add the four keys you receive under the names TWITTER_CONSUMER_KEY, TWITTER_CONSUMER_SECRET, TWITTER_ACCESS_TOKEN, and TWITTER_CONSUMER_SECRET
    • You will also need keys from Google, Yahoo, and indico.io. Name these GOOGLE_GEOCODING, YAHOO, and INDICO
  • Note while running the test suite that some of the tests are disabled by default in the .rspec file:
    • The tests in spec/apis serve as a quick connectivity dashboard; they can be run to ensure that nothing has changed in the configuration of the APIs that the application uses. They should only be run if the APIs themselves seem to be behaving irregularly in order to better diagnose the problem. Running them repeatedly over a short period of time will quickly burn through your quota of Twitter API calls.

About

Mapping trending topics to their geographic locations + sentiment analysis

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published