Задание 1 · обязательное
Console + JSON API
Команда jokes:fetch по расписанию каждые 5 минут забирает шутку с
official-joke-api и сохраняет в БД через updateOrCreate (идемпотентно).
HTTP endpoint отдаёт пагинированный JSON.
GET /api/jokes →
Задание 2 · обязательное
JS: видимость полей по «Тип»
Drop-in IIFE без зависимостей. Слушает change на
<select name="type_val"> и оставляет видимыми только те поля, в
name которых содержится выбранное значение.
Задание 3 · бонус
Счётчик посещений
JS-коллектор track.js (sendBeacon, без зависимостей) → ingest endpoint
POST /api/visits (UA-парсинг, throttle, CORS-safe) → дашборд статистики
с графиками Chart.js под Breeze auth.
Совет проверяющему:
чтобы увидеть pie-chart по городам в задании 3 —
зарегистрируйтесь
и засейте демо-данные:
php artisan db:seed --class=DemoVisitsSeeder
.