Codebase orientation

A self-contained Laravel scraper that turns an OnlyFans username into a searchable database record.

Profile API requests arrive at two endpoints, while the demo app exposes a root navigation hub, profile browser, codebase guide, health check, and Horizon dashboard link. Scrape requests verify that a username exists before dispatching to a Horizon-managed queue. Workers sign API calls using dynamic rules, fetch the profile, and upsert a database record. Laravel Scout makes the result immediately full-text searchable. A scheduler re-scrapes profiles over 100k likes every 24 hours and all others every 72 hours. A configurable session-refresh job keeps the OnlyFans cookie alive automatically.

2profile API endpoints
1queue job per scrape
3scheduled tasks

What this guide covers

Click architecture nodes to see contracts, follow the runtime flows, and use the file tour to understand change risk before touching a class.

Laravel 13 Horizon Scout PostgreSQL Redis Playwright login

Architecture Map

Four layers handle the full lifecycle. Click a node to see its contract.

Module Responsibilities

These cards show the codebase boundaries: HTTP surface, OnlyFans signing services, and async queue infrastructure.

Runtime Flows

Each flow shows the handoffs across classes. These are the paths to understand before changing behaviour.

File Tour

Select a file to see what it owns, who calls it, and the change risk.

Architecture Choices

These are deliberate decisions visible in the code, with the tradeoffs to keep in mind.