Architecture
LIME has two runtime services and one database.
Shopkeeper
Shopkeeper is the Go backend. It owns API routes, scan lifecycle, migrations, screenshots, PDF generation, and the scan pipeline.
Profiler
Profiler expands sitemap and sitemap-index inputs, validates URLs, deduplicates them, verifies final host eligibility, and writes URL rows.
Juicer
Juicer drives Chromium workers, runs axe-core, captures screenshots, and records page-level audit results.
Sweetner
Sweetner normalizes raw audit output into issues, occurrences, needs-review rows, score inputs, and report-ready data.
UI
The Next dashboard renders scan pages, issue pages, settings, and reports. It reads PostgreSQL for server-rendered pages and proxies runtime API requests to Shopkeeper.