How stangirard/seo-audits-toolkit works
OSAT is a web toolkit for organization-scoped website audits and content analysis. Users select a resource in the React Admin app; it communicates with the Django API, while Celery tasks perform time-consuming analyses and persist results for later viewing. The graph preserves the documented audit, extraction, sitemap, keyword, summarization, authentication, and organization capabilities. Task-to-analysis and task-to-model links are supported by sampled task source; API dispatch and several domain implementations were not sampled, so those links are omitted.
Main entry points: urls.py Django API · App.js React Admin · extractor/tasks.py Extraction jobs · lighthouse/tasks.py Audit jobs
Components 30
Web interface
- React Admin
admin/src/App.js - Auth provider
admin/src/authProvider.js - Website resource
admin/src/website/websiteList.js - Audit resources
admin/src/lighthouse/index.js - Content resources
admin/src/extractor/index.js
API and access
- Django API
server/core/urls.py - Organizations
server/org/models.py - User accounts
server/users/models.py
Website audits
- Page extraction
server/extractor/tasks.py - Sitemap extraction
server/extractor/tasks.py - Lighthouse audits
server/lighthouse/tasks.py - Security audits
server/security/tasks.py - Internal links
server/internalLinks/tasks.py - Extraction records
server/extractor/models.py - Lighthouse records
server/lighthouse/models.py - Security records
server/security/models.py - Link records
server/internalLinks/models.py
Content tools
- Keyword finder
server/keywords/tasks.py - Text summarizer
server/bert/tasks.py - Keyword records
server/keywords/models.py - Summary records
server/bert/models.py
Background work
- Extraction jobs
server/extractor/tasks.py - Audit jobs
server/lighthouse/tasks.py - Security jobs
server/security/tasks.py - Link jobs
server/internalLinks/tasks.py - Keyword jobs
server/keywords/tasks.py - Summary jobs
server/bert/tasks.py
Other components
- User
- Lighthouse CLI
- HTTP Observatory
Connections 27
- User → React Admin: uses
- React Admin → Auth provider: authenticates via
- React Admin → Website resource: shows
- React Admin → Audit resources: shows
- React Admin → Content resources: shows
- React Admin → Django API: requests data
- Auth provider → Django API: authenticates
- Website resource → Django API: requests data
- Audit resources → Django API: requests data
- Content resources → Django API: requests data
- Django API → Organizations: uses access data
- Django API → User accounts: uses account data
- Extraction jobs → Page extraction: runs extraction
- Extraction jobs → Sitemap extraction: runs extraction
- Extraction jobs → Extraction records: updates records
- Audit jobs → Lighthouse audits: runs audit
- Audit jobs → Lighthouse records: saves scores
- Audit jobs → Lighthouse CLI: invokes
- Security jobs → Security audits: runs audit
- Security jobs → Security records: saves results
- Security jobs → HTTP Observatory: invokes
- Link jobs → Internal links: generates links
- Link jobs → Link records: updates records
- Keyword jobs → Keyword finder: extracts terms
- Keyword jobs → Keyword records: updates records
- Summary jobs → Text summarizer: summarizes text
- Summary jobs → Summary records: updates records