{"id":18879499,"url":"https://github.com/fforbeck/twitter-analyst","last_synced_at":"2026-05-01T18:31:56.748Z","repository":{"id":26266403,"uuid":"29713706","full_name":"fforbeck/twitter-analyst","owner":"fforbeck","description":"Harvesting tweets by hashtag to perform sentiment analysis with IDOL OnDemand platform and store it into VerticaDB.","archived":false,"fork":false,"pushed_at":"2015-02-09T10:01:26.000Z","size":2876,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-05-31T06:30:19.319Z","etag":null,"topics":["akka","java","play-framework","spring","twitter"],"latest_commit_sha":null,"homepage":"http://felipeforbeck.com/posts/2015/01/tweet-sentiment-analyst/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fforbeck.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-01-23T02:58:31.000Z","updated_at":"2022-05-10T19:22:03.000Z","dependencies_parsed_at":"2022-08-26T17:50:11.129Z","dependency_job_id":null,"html_url":"https://github.com/fforbeck/twitter-analyst","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/fforbeck/twitter-analyst","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fforbeck%2Ftwitter-analyst","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fforbeck%2Ftwitter-analyst/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fforbeck%2Ftwitter-analyst/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fforbeck%2Ftwitter-analyst/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fforbeck","download_url":"https://codeload.github.com/fforbeck/twitter-analyst/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fforbeck%2Ftwitter-analyst/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32508900,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-30T13:12:12.517Z","status":"online","status_checked_at":"2026-05-01T02:00:05.856Z","response_time":64,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["akka","java","play-framework","spring","twitter"],"created_at":"2024-11-08T06:36:50.245Z","updated_at":"2026-05-01T18:31:56.723Z","avatar_url":"https://github.com/fforbeck.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"### App Design\n\n![Tweet Analyst System](/documents/tweetanalystsystem.png)\n\n---\n\n### Design Notes\n\n[Tweet Sentiment Analyst System](http://felipeforbeck.com/posts/2015/01/tweet-sentiment-analyst/)\n\n\n### Installing on Ubuntu 13.10\n\n1 - Install the JDK7+\n\n    sudo apt-get install openjdk-7-jdk\n\n2 - Install your VerticaDB with Examples (I am using the public schema name)\n\n3 - Play Framework Activator\n\n3.1 - Download the zip: \n\n    wget http://downloads.typesafe.com/typesafe-activator/1.2.12/typesafe-activator-1.2.12-minimal.zip\n\n3.2 - Extract the ZIP file in your home dir\n\n3.3 - Export the activator path into .bash_profile if Ubuntu OS.\n\n    export PATH=$PATH:/relativePath/to/activator\n    \n3.4 - To reload the file execute:\n\n    source .bash_profile\n    \n3.5 - To check if activator is ready, run:\n\n    activator -help\n    \nIt will download some libraries before show the help options.\n\n4 - Install Redis\n\n4.1 - Download the stable version\n\n    wget http://download.redis.io/releases/redis-2.8.19.tar.gz \n    \n4.2 - Extract the file into your home dir\n\n\n4.3 - Run:\n\n    sudo make install\n    cd src\n    make test\n    \n4.4 - To start the server, run:\n\n    redis-server\n    \n4.5 - To Connect to the server with a redis client, in another terminal tab, execute:\n\n    redis-cli\n    \nonce it`s connected, send the command:\n\n    PING\n    \nThe response should be \n\n    PONG\n    \nit means the server is up and running.\n\n5 - Creating the Model and loading the Data\n\n5.1 - To create the database model in VerticaDB execute:\n    \n    ddl/1.sql\n    \n5.2 - To load about 10K+ tweets with $HPQ tag into your VerticaBD. Make sure you had place your schema name as 'public'.\n\n    dml/2.sql \n    \n6 - Starting the Application\n\n6.1 - Put your redis server up\n\n6.2 - Put your VerticaDB up\n\n6.3 - Extract the twitter-analyst.zip\n\n6.4 - Edit the twitter-analyst/conf/application.conf file:\n\n    # VERTICA DB\n    db.default.url=\"jdbc:vertica://\u003cserver-ip-address\u003e:5433/VMart\"\n    db.default.user=dbadmin\n    db.default.password=\"\"\n    db.default.schema=\"public\"\n    db.default.jndiName=DefaultDS\n\t\t\n\t# Redis\n\tredis.host=\"\u003cserver-ip-address\u003e\"\n\t\n6.5 - Setup your Twitter keys in the same file:\n    \n    # Twitter 4J OAuth\n    twitter.oauth.consumerKey=\"\"\n    twitter.oauth.consumerSecret=\"\"\n    twitter.oauth.accessToken=\"\"\n    twitter.oauth.accessTokenSecret=\"\"\n6.6 - Setup you HP IDOL API key\n    \n    # HP IDOL Platform\n    hp.idol.analyze.sentiment.uri=\"https://api.idolondemand.com/1/api/sync/analyzesentiment/v1?text=%TWEET%\u0026language=%LANG%\u0026apikey=\u003cyour-api-key\u003e\"\n\n6.5 - Go to the root folder \n\n    twitter-analyst/\n\n6.6 - Make sure you OS clock is in sync\n\n6.7 - Execute:\n\n    activator run\n    \nIt will download all the necessary dependencies for the project and play framework. Takes a lot of time in the first time you execute it.\n\n6.6 - Open the browser at \n    \n    localhost:9000\n    \n6.6.1 You will see the live tweets chart. If you don`t see any red/green dots in this chart just use your own tweet account to tweet using the $HPQ tag with negative/positive sentiment. You will receive the analysis in real time in this chart. Just place the mouse over the dot to see the date, score, user and tweet content.\n\n6.6.2 The time line tweets chart loads all tweets from DB and split them in 2 series: positive, negative. You can see when it happened and to get more details just reduce the bottom bar range, the zoom will be applied and you can put the mouse over the dot to see the tweet details.\n\n6.6.4 The pie chart just show all tweets in DB with $HPQ tag in 3 categories: Positive, Negative and Neutral.\n\n---\n\n### License\n\nThis software is licensed under the Apache 2 license, quoted below.\n\nCopyright 2015 Felipe Forbeck (http://www.felipeforbeck.com).\n\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use this project except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n\nUnless required by applicable law or agreed to in writing, software distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.\n\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffforbeck%2Ftwitter-analyst","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffforbeck%2Ftwitter-analyst","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffforbeck%2Ftwitter-analyst/lists"}