From d7fe54d6bb741f8dc8f83a303cc79dc56cd0da88 Mon Sep 17 00:00:00 2001 From: tdjx Date: Tue, 9 Sep 2025 21:31:34 +0500 Subject: [PATCH] upd readme --- README.md | 59 +++++++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 51 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index cbf875c..25795dc 100644 --- a/README.md +++ b/README.md @@ -7,6 +7,9 @@ - 📋 Просмотр списка вакансий с поиском и фильтрацией - 🔍 Детальная информация о каждой вакансии - 📄 Загрузка резюме с уведомлением о подготовке сессии собеседования +- 🎤 Проведение AI-собеседований с проверкой микрофона +- 📊 Создание вакансий из файлов (PDF, DOC, DOCX, RTF, TXT) +- 📈 Просмотр отчетов по кандидатам для каждой вакансии - 🔐 Авторизация через cookie-сессии (без JWT) - 🎨 Современный и адаптивный дизайн - ⚡ Быстрая загрузка и отзывчивый интерфейс @@ -45,14 +48,27 @@ yarn dev │ ├── globals.css # Глобальные стили │ ├── layout.tsx # Корневой layout │ ├── page.tsx # Главная страница (список вакансий) -│ └── vacancy/[id]/ # Страница детальной информации о вакансии +│ ├── vacancy/[id]/ # Страница детальной информации о вакансии +│ │ └── report/[id]/ # Страница отчетов по вакансии +│ └── interview/[id]/ # Страница AI-собеседования ├── components/ # React компоненты -│ └── ResumeUploadForm.tsx -├── lib/ # Утилиты и API клиент +│ ├── ResumeUploadForm.tsx # Форма загрузки резюме +│ ├── VacancyUploadForm.tsx # Форма создания вакансии +│ ├── VacancyReports.tsx # Отчеты по вакансии +│ └── InterviewSession.tsx # AI-собеседование +├── hooks/ # React Query хуки +│ ├── useVacancy.ts +│ ├── useResume.ts +│ └── useReports.ts +├── services/ # API сервисы +│ ├── vacancy.service.ts +│ ├── resume.service.ts +│ └── reports.service.ts +├── lib/ # Утилиты и API клиент │ └── api-client.ts -├── types/ # TypeScript типы +├── types/ # TypeScript типы │ └── api.ts -└── public/ # Статические файлы +└── public/ # Статические файлы ``` ## API Integration @@ -62,26 +78,53 @@ yarn dev ### Основные эндпоинты: - `GET /api/v1/vacancies/` - Получение списка вакансий - `GET /api/v1/vacancies/{id}` - Получение вакансии по ID +- `POST /api/v1/vacancies/parse-file-async` - Создание вакансии из файла - `POST /api/v1/resumes/` - Загрузка резюме +- `GET /api/v1/resumes/by-vacancy/{vacancy_id}` - Получение резюме по вакансии - `GET /api/v1/sessions/current` - Получение информации о сессии +- `GET /api/v1/reports/vacancy/{vacancy_id}` - Получение отчетов по вакансии ### Авторизация: Все запросы выполняются с `credentials: 'include'` для работы с cookie-сессиями. ## Особенности реализации +### Создание вакансий +- Загрузка из файлов: PDF, DOC, DOCX, RTF, TXT +- Drag & Drop интерфейс +- Максимальный размер файла: 10 МБ +- Toast уведомления об успешной обработке +- Автоматическое обновление списка каждые 5 секунд + ### Загрузка резюме -- Поддержка файлов: PDF, DOC, DOCX, TXT +- Поддержка файлов: PDF, DOCX +- Drag & Drop интерфейс - Максимальный размер файла: 10 МБ - Валидация формы перед отправкой -- Уведомление об успешной отправке +- Автоматическая проверка микрофона перед собеседованием +- Статусы обработки: обрабатывается → обработано → готово к собеседованию + +### AI-собеседования +- Проверка доступа к микрофону +- WebRTC соединение с сервером +- Реальное время голосового взаимодействия +- Обработка ошибок подключения ### Поиск вакансий - Поиск по названию вакансии - Фильтрация активных вакансий -- Красивое отображение карточек вакансий +- Заглушки для незаполненных рядов в сетке 3x3 +- Обработка null значений ("Не указано") ### Детальная страница вакансии - Полная информация о вакансии - Контактные данные - Форма для отклика прямо на странице +- Переход к отчетам по кандидатам + +### Отчеты по вакансии +- Список всех кандидатов +- Информация о собеседованиях +- Статусы кандидатов +- Ссылки на PDF отчеты +- Заметки интервьюера и следующие шаги