Skip to content

Latest commit

 

History

History
70 lines (47 loc) · 2.11 KB

README.md

File metadata and controls

70 lines (47 loc) · 2.11 KB

Kali-Visuals

Social Media Monitoring via Sentiment Analysis

💾 - Installing Dependencies

# clone this repository
    git clone

# cd into the project directory
    cd kaliVisuals

# install frontend dependencies
    cd frontend
    npm install

# install functions dependencies
    cd functions
    npm install

# install backend dependencies (optional)
    cd functions
    npm install

🔧 - API Keys

# go to the functions directory
    cd functions

# create new file
    touch twitterApiKeys.js

# update the following after obtaining your keys

    module.exports = {
        consumer_key: 'YOUR_CONSUMER_KEY',
        consumer_secret: 'YOUR_CONSUMER_SECRET',
        access_token:'YOUR_ACCESS_TOKEN',
        access_token_secret: 'YOUR_TOKEN_SECRET',
        timeout_ms: 60*1000,
        strictSSL:true,
    }

👾 - Technologies

  • React - The entire client side is built using React and styled using Semantic-UI-React

  • Firebase - Firebase Auth, Firebase Realtime Database and Cloud Functions are powering the entire backend of this web application

  • Sentiment - AFINN-based sentiment analysis for Node.js

  • Twitter-API - Parsing hundreds of tweets/call/day and aggregating sentiment score. Working in conjunction with cloud functions running Node, to parse tweets and calculate sentiment

  • Cron-Job - Daily scheduled execution of fetching and analyzing sentiment data before displaying the data on the dashboard. looking to move the scheduling of tasks to google compute engine

🐜 - Known Bugs

  • Warning -- upon user deletion of a monitored hashtag, a warning is emitted due to chart unmounting incorrectly. Most probably have to do with the DB listeners still attached to chart after deletion

  • When creating a new user, the avatar image doesn't always load; it requires a refresh of the page.

🔗 - Coming Features

  • Change user avatar
  • More API sources
  • Search Functionality