How anriudh/sports-sentiment-tracker works
Sports Sentiment Tracker is a small football-news pipeline with a Streamlit dashboard. Users view sentiment summaries and filtered articles; refreshing fetches recent NewsAPI articles, analyzes headline and description text with VADER, writes scored data, and reloads it for display. A separate charting script also reads the scored CSV and saves static plots. The README documents distribution, trend, histogram, article-table, and refresh capabilities. The graph follows the supplied source; the NewsAPI integration is explicit, while no additional runtime services are evident.
Main entry points: app.py Streamlit dashboard · sentiment.py VADER analysis · scraper.py Article fetcher · articles_with_sentiment.csv Scored articles CSV
Components 10
Dashboard
- Streamlit dashboard
app.py
News Pipeline
- Article fetcher
src/scraper.py - VADER analysis
src/sentiment.py
Stored Data
- Raw articles CSV
data/csv/raw_articles.csv - Scored articles CSV
data/csv/articles_with_sentiment.csv
Static Charts
- Static chart generator
src/visualizer.py - Generated plots
data/plots
Other components
- Dashboard user
- NewsAPI
- VADER library
Connections 12
- Dashboard user → Streamlit dashboard: views and refreshes
- Streamlit dashboard → Dashboard user: displays dashboard
- Streamlit dashboard → Article fetcher: refresh calls
- Article fetcher → NewsAPI: requests articles
- Article fetcher → Raw articles CSV: writes articles
- Streamlit dashboard → VADER analysis: analyzes fetched data
- VADER analysis → VADER library: scores text
- VADER analysis → Raw articles CSV: reads standalone input
- VADER analysis → Scored articles CSV: writes scores
- Streamlit dashboard → Scored articles CSV: loads dashboard data
- Static chart generator → Scored articles CSV: reads scored data
- Static chart generator → Generated plots: saves charts