Задание: Веб-программист. Нужен Team Lead для задачи “Отчёт по проверке — фронт + бэк” (Дистанционная работа)
Цель:
Реализовать модуль отображения результатов background check по сотруднику, включая:
итоговую оценку,
статусы по всем компонентам,
историю действий,
экспорт в PDF.
Техническое задание
Backend (Java, Spring Boot, PostgreSQL)
Задачи:
Модель CheckReport:
id (UUID)
employeeId
status (SUCCESS, WARNING, RISK, ERROR)
score (0–100)
createdAt, updatedAt
components: список (финансы, соцсети, криминал и т.д.)
comments (внутренние пометки, статусы типа "Допущен", "Отклонён")
REST API:
GET /api/report/{employeeId} — получить отчёт по сотруднику
POST /api/report/{employeeId}/comment — добавить внутренний комментарий
GET /api/report/{employeeId}/export — экспорт PDF
GET /api/report/{employeeId}/log — история действий
Бизнес-логика:
Автоматическое проставление оценки и статуса по компонентам на основе данных
История действий — кто и когда открыл/завершил/отклонил
Безопасность:
Доступ только у авторизованного пользователя с ролью HR, Admin
Логирование всех изменений
Frontend (React + TypeScript)
Страницы:
Страница Check Report:
Информация о сотруднике (ФИО, email)
Итоговая оценка + иконка:
— чисто
️ — есть риски
— ошибка / отказ
Компоненты отчёта: блоки по категориям (иконки, цвет, оценка)
Кнопка: “Экспорт PDF”
Кнопка: “Добавить комментарий”
История действий (таймлайн с датами и пользователями)
UX/Visual:
Цветовые маркеры: зелёный / жёлтый / красный
Подсказки на иконках (“?” с пояснением)
Адаптивность (мобильная версия)
Ожидаемое от Team Lead:
Архитектурное проектирование (структура бэка и фронта)
Технический лид: декомпозиция задачи на бэк и фронт, распределение в JIRA
Кодинг: реализация ключевых модулей руками
Наставничество: ревью кода команды, рекомендации по улучшениям
Коммуникация: отчётность по статусу задачи, эскалация проблем
Документация: README с описанием API, схем БД, сценариев использования