Проект: админ-панель
Заказчики и команды просят «панель управлять данными». Собираем её руками: таблицы с фильтрами, графики метрик и экспорт CSV — на реальном API, который вы тоже напишете.
Состав
- таблица сущности (пользователи/заказы) с пагинацией и фильтрами по статусу;
- график метрик: Recharts/Chart.js на данных из API (урок 54 и 58);
- экспорт CSV: кнопка скачивания текущего фильтра;
- редактирование/удаление строк с подтверждением (урок 41);
- авторизация admin на бэке (урок 24).
Экспорт кнопкой
async function exportCsv(filters) {
const res = await fetch("/api/v1/orders/export?" + new URLSearchParams(filters));
const blob = await res.blob();
const a = document.createElement("a");
a.href = URL.createObjectURL(blob);
a.download = "orders.csv";
a.click();
}
💡
Графики делаем на серверных агрегатах, не тащим все записи в браузер: «количество заказов по дням» — это запрос с GROUP BY, а не список нарисованный на клиенте.
ℹ️
Панели — «скучный» тип проекта, за который платят охотно: они упрощают рутину и экономят людям часы. Совмещение «фронт + бэкенд + диаграммы» встречается в каждой второй коммерческой задаче.