PokemonGoers / HashPokemonGo

Live sentiment analysis on pokemon in a x km radius - this can be easily implemented expanding on the work done last semester https://github.com/Rostlab/JS16_ProjectD_Group5 . We also want to know what people think about that Pokemon! So the user of the app should be able to visualize a live sentiment feed around his/her area (that is, given a lat/lng and a specific radius), and be able to see if people around him/her think positively or negatively about that pokemon. Additionally, since you will become the twitter experts, you will join forces with project A to realize the live-tweet miner.
Apache License 2.0
2 stars 1 forks source link

Project 1: Who consumes the tweet stream and historic tweet sentiment analysis? #12

Open phdowling opened 8 years ago

phdowling commented 8 years ago

Hey @gyachdav and @sacdallago ,

We implemented the live streamed sentiment analysis, users can request (via websockets) twitter streams by location and pokemon name. However, we are not sure what project should actually use this data in the frontend - is this also for the @PokemonGoers/pokemap-1 and @PokemonGoers/pokemap-2 teams, or maybe @PokemonGoers/catch-em-all ? In the same vein, who is consuming the output from our historic tweet sentiment analysis project ?

Example client code for the twitter stream:

var socket = io('http://localhost:8888/sentiment');
socket.on("connect", function(){
    socket.emit("settings",
            {
                mode: "geo", // or "all" for no specific location but getting all tweets
                lat: 1, lon:1, radius: 50000000, 
                pokemonName: "Abra" // or leave out for getting all pokemon-related tweets
            }
    );
});

socket.on("tweet", function (data){
    console.log(data);
});
sacdallago commented 8 years ago

For the streaming bit, it's either A or E. It's a decision that has to be taken, maybe @PokemonGoers/catch-em-all and @PokemonGoers/pokedata would like to participate.

I would put everything together in project A, because it makes more sense (to me). Your project is though not in the right format to be "digested" by project A (or E, for the matter). I wouldn't create separate services that expose ports independently. You should create something small/modular enough that project A can npm require it and expose a route. Maybe via express middle layers.

Sentiment analysis should definetly go to project A. Something in the fashion: pokemob.sentiment(tweet) --> {twitterId: xyz, sentiment: 1.23} and then the guys from project A will decide what to do with the object (ideally, store it in a collection :D )