Production-ready FastAPI backend for tracking updates from resources (GitHub repositories, Stack Overflow questions, RSS feeds, blogs, docs pages, and generic websites) with pluggable providers and notification channels.
- Secure registration/login with JWT access + refresh tokens
- Role-based authorization
- Full CRUD for tracked links
- URL validation + automatic provider detection
- Periodic background checks with configurable intervals
- Efficient update detection using ETag / Last-Modified / content digest fallback
- Retry + rate limit safeguards for external calls
- Update history + deduplicated notifications
- Extensible notification channels and provider architecture
- Search/filter/sort/pagination for links
- Consistent API response envelope
- Alembic migrations
- Structured logging
- Unit + integration tests
- Docker + Docker Compose for local development
- Copy environment:
cp .env.example .env- Start services:
docker compose up --build- API docs:
python -m venv .venv
source .venv/bin/activate # or .venv\\Scripts\\activate on Windows
pip install -e .[dev]
alembic upgrade head
uvicorn app.main:app --reloadpytestapp/services/providers/*: provider detection and update extraction logicapp/services/notifiers/*: channel strategy implementationsapp/services/checker.py: periodic link check orchestrationapp/api/v1/endpoints/*: REST endpointsapp/models/*: SQLAlchemy modelsapp/schemas/*: Pydantic request/response models