Dashboard Overview
The dashboard is built with SvelteKit and consumes the internal /api/v1 contracts.
Main Areas
- Home: KPI cards, throughput charts, live queue table
- Users: role/group-scoped user management
- Websites: website lifecycle, membership, verification, ownership transfer
- Jobs: job creation, status tracking, result drill-down
- Scheduling: recurring jobs with cron-based execution
- Tasks: queue task list + detail + cancellation where allowed
- Notifications: channel management + website notification rules
- Compare: pairwise diff view for completed queue tasks (
/job-queue/{id}/diff)
Live Updates
Dashboard uses SSE streams for:
- homepage/job-queue task updates
- notification toasts for status transitions
PDF Reports
From job details, the UI can request PDF generation through Gotenberg.
- HTML source:
/jobs/{id}/pdf - downloaded file is streamed back by dashboard endpoint
Access Behavior
/auth/*remains public- dashboard routes require valid session
- unauthenticated users are redirected to
/auth/signin