How haripriya24071/apiradar works
ApiRadar monitors third-party API and SDK updates, turns detected changes into structured events, and presents impact and migration information to developers through a web dashboard and daily email digests. The principal workflow is source polling or OpenAPI comparison, change-event creation and notification, then stack-aware consumption. The graph includes the documented LLM analysis capability; its exact call wiring is not shown in the sampled source. Other unsampled subsystems are represented only where the README or file tree supports them.
Main entry points: database.py PostgreSQL · scraper_tasks.py Scraper tasks · main.py FastAPI server · App.tsx Web app
Components 28
Web application
- Web app
frontend/src/App.tsx - Dashboard and feed
frontend/src/pages - Stack management
frontend/src/pages/MyStack.tsx - API catalog
frontend/src/pages/BrowseAPIs.tsx - Data hooks
frontend/src/hooks - API client
frontend/src/lib/api.ts
API and accounts
- FastAPI server
backend/main.py - Authentication
backend/routers/auth.py - Token and password service
backend/services/auth_service.py - Stack and package routes
backend/routers/stacks.py - Catalog routes
backend/routers/apis.py - Change routes
backend/routers/changes.py
Change monitoring
- RSS scraper
backend/scrapers/rss_scraper.py - GitHub scraper
backend/scrapers/github_scraper.py - OpenAPI differ
backend/diff/openapi_differ.py - Scraper tasks
backend/tasks/scraper_tasks.py - OpenAPI diff tasks
backend/tasks/diff_tasks.py - Change analysis
backend/llm/summarizer.py
Notifications and digests
- Notification service
backend/services/notification_service.py - Notification routes
backend/routers/notifications.py - Email digest task
backend/tasks/email_tasks.py
Data and workers
- Celery workers
backend/tasks/celery_app.py - Redis task queue
- PostgreSQL
backend/database.py
Other components
- Developer
- API update sources
- Resend email service
- OpenAI
Connections 37
- Developer → Web app: uses
- Web app → Dashboard and feed: routes to
- Web app → Stack management: routes to
- Web app → API catalog: routes to
- Dashboard and feed → Data hooks: loads changes
- Stack management → Data hooks: manages stack
- API catalog → Data hooks: loads catalog
- Data hooks → API client: requests
- API client → FastAPI server: calls REST API
- FastAPI server → Authentication: dispatches
- FastAPI server → Stack and package routes: dispatches
- FastAPI server → Catalog routes: dispatches
- FastAPI server → Change routes: dispatches
- Authentication → Token and password service: hashes and signs
- Authentication → PostgreSQL: reads and writes users
- Stack and package routes → PostgreSQL: reads and writes stacks
- Catalog routes → PostgreSQL: reads catalog
- Change routes → PostgreSQL: reads changes
- FastAPI server → Scraper tasks: queues scrape task
- Scraper tasks → Redis task queue: dispatches tasks
- Redis task queue → Celery workers: delivers tasks
- Scraper tasks → RSS scraper: runs
- Scraper tasks → GitHub scraper: runs
- RSS scraper → API update sources: fetches feeds
- GitHub scraper → API update sources: fetches releases
- Scraper tasks → PostgreSQL: reads catalog; writes events
- Scraper tasks → Notification service: creates notifications
- OpenAPI diff tasks → OpenAPI differ: compares specs
- OpenAPI differ → API update sources: fetches specifications
- OpenAPI diff tasks → PostgreSQL: reads catalog; writes events
- OpenAPI diff tasks → Notification service: creates notifications
- Notification service → PostgreSQL: reads watches; writes notifications
- Notification routes → PostgreSQL: reads notifications
- Email digest task → PostgreSQL: reads users, watches, changes
- Email digest task → Resend email service: sends digest
- Scraper tasks → Change analysis: analyzes changes
- Change analysis → OpenAI: requests analysis