A lightweight multi-service social listening platform with:
- Streamlit frontend dashboard
- Node.js gateway for auth and API orchestration
- Python NLP service for sentiment analysis
- Go statistics service for keyword and trend analytics
- SQLite database for post storage
frontend(Python/Streamlit): user input and dashboard renderinggateway(Node.js): authentication and request routing/compositionnlp(Python/FastAPI): sentiment detection from post textstat(Go): mentions, trends, top keywords, post retrievaldb(SQLite): stored under./data/listenai.db
Please ensure the following dependencies are installed:
- Python
- Node.js
- Go
- Taskfile
Before starting services, make sure dataset files are ready.
- Check the data setup guide in
data/README.md. - Download the dataset (Google Drive placeholder link currently) and import it into SQLite.
POST /auth/loginPOST /api/dashboard(Bearer token required)
POST /statsGET /health
POST /sentimentGET /health
From project root:
task upNotes:
task upruns a cleanup step first, then startsstat,nlp,gateway, andfrontendtogether.- If
taskis not installed, install go-task first:
brew install go-task