How smuhammadtaha3/reputation-monitoring-agent works
AI Reputation Monitoring Agent accepts reviews through a FastAPI API or periodically polls a simulated review source, analyzes sentiment and competitor mentions, drafts replies for reviews that warrant alerts, stores review records, and sends Telegram notifications. It also exposes review history and analytics, and serves a dashboard page. The API and scheduled worker have distinct processing paths. The README describes future platform integrations and UI plans; the sampled scraper currently rotates through a local Yelp review dataset. Edges reflect the shown routes, task, and service calls; unshown integration details are omitted.
Main entry points: routes.py Review API · tasks.py Review Poll Task · database.py Supabase Client · draft.py Reply Drafting
Components 17
API and Dashboard
- Review API
app/api/routes.py - Dashboard Page
frontend/index.html - FastAPI Server
app/main.py
Review Processing
- Sentiment Analysis
app/services/sentiment.py - Competitor Detection
app/services/scraper.py - Review Dataset Pool
data/yelp_80000_fixed.json - Reply Drafting
app/services/draft.py - Telegram Alerts
app/services/alert.py
Scheduling and Workers
- Review Poll Task
app/workers/tasks.py - Celery Scheduler
app/workers/celery_app.py - Runtime Settings
app/core/config.py
Data and Analytics
- Supabase Client
app/core/database.py - Review Analytics
app/services/analytics.py
Other components
- Review Submitter
- Groq LLaMA API
- Telegram Service
- Supabase Database
Connections 26
- Review Submitter → Review API: submits review
README.md - Review API → Sentiment Analysis: analyzes text
app/api/routes.py - Review API → Competitor Detection: checks mentions
app/api/routes.py - Review API → Reply Drafting: requests draft
app/api/routes.py - Reply Drafting → Groq LLaMA API: generates reply
README.md - Review API → Telegram Alerts: sends alert
app/api/routes.py - Telegram Alerts → Telegram Service: sends message
app/services/alert.py - Review API → Supabase Client: stores review
app/api/routes.py - Supabase Client → Supabase Database: connects to
app/core/database.py - Review API → Supabase Client: reads reviews
app/api/routes.py - Review API → Review Analytics: requests summaries
app/api/routes.py - Review Analytics → Supabase Client: loads review data
app/services/analytics.py - FastAPI Server → Review API: mounts routes
app/main.py - FastAPI Server → Dashboard Page: serves page
app/main.py - FastAPI Server → Review Poll Task: runs every 15 minutes
app/main.py - Review API → Review Poll Task: triggers poll
app/api/routes.py - Review Poll Task → Review Dataset Pool: fetches sample reviews
app/workers/tasks.py - Review Poll Task → Sentiment Analysis: analyzes reviews
app/workers/tasks.py - Review Poll Task → Competitor Detection: checks mentions
app/workers/tasks.py - Review Poll Task → Reply Drafting: requests draft
app/workers/tasks.py - Review Poll Task → Telegram Alerts: sends alert
app/workers/tasks.py - Review Poll Task → Supabase Client: stores reviews
app/workers/tasks.py - Celery Scheduler → Review Poll Task: registers task
app/workers/celery_app.py - Supabase Client → Runtime Settings: loads credentials
app/core/database.py - Reply Drafting → Runtime Settings: loads API key
app/services/draft.py - Telegram Alerts → Runtime Settings: loads bot settings
app/services/alert.py