diff --git a/README.md b/README.md index c7f2a20..bb7680e 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,85 @@ -# ty-produktovyy-dizayner-i-se +# HR Candidate Matcher +Веб-сервис для сопоставления резюме с требованиями вакансии. Помогает рекрутёрам быстро оценивать кандидатов по прозрачным критериям и готовить вопросы для интервью. + +## Возможности + +- **Извлечение требований** — анализ текста вакансии с выделением ключевых навыков, опыта и образования +- **Редактирование критериев** — настройка обязательности, веса (1–5) и синонимов для поиска +- **Сопоставление** — таблица соответствий с цитатами из резюме и статусами +- **Вопросы для интервью** — генерация вопросов по неподтверждённым требованиям +- **Экспорт** — выгрузка сводки в текстовом файле +- **Приватность** — данные не покидают браузер, localStorage с явным согласием + +## Экраны + +1. **Ввод** — два поля (вакансия и резюме), кнопка «Извлечь требования» +2. **Критерии** — редактируемый список требований +3. **Сопоставление** — таблица с цитатами и индикатором покрытия +4. **Интервью** — сгенерированные вопросы, копирование, экспорт + +## Запуск + +Проект работает в браузере без сервера. Откройте `index.html` в любом современном браузере. + +### Структура файлов + +``` +index.html — разметка и стили +aiAdapter.js — демонстрационный AI (детерминированные правила) +matcher.js — логика сопоставления +ui.js — управление интерфейсом +storage.js — работа с localStorage +app.js — точка входа +``` + +## Особенности + +- **Демо-режим AI** — детерминированная логика на словарях и шаблонах (без реальной ML-модели) +- **Словари навыков** — frontend, backend, database, devops, mobile, qa, soft skills +- **Распознавание отрицаний** — «без опыта React» не считается подтверждением +- **Покрытие требований** — сумма весов подтверждённых / сумма весов всех × 100 +- **Клавиатурная навигация** — Escape (назад), Ctrl+Enter (действие), Ctrl+S (сохранить) + +## Ограничения демо-версии + +- Нет подключения к реальной AI-модели +- Анализ только по ключевым словам и шаблонам +- Данные хранятся только в localStorage браузера + +## Дизайн-система + +Проект использует дизайн-систему KT AI: +- Токены: `var(--kt-ai-*)` для цветов, отступов, шрифтов +- Компоненты: кнопки, карточки, поля форм +- Иконки: спрайт Lucide (97 иконок) + +## Проверки + +- Пустые тексты — валидация с фокусом на первом ошибочном поле +- Отсутствие критериев — сообщение с предложением извлечь требования +- Синонимы — поиск по альтернативным названиям навыков +- Отрицания — не считаются подтверждением +- Резюме без раздела навыков — статус «Уточнить» или «Не найдено» +- Закрытие вкладки — данные сохраняются в localStorage (кроме резюме без явного сохранения) + +## Горячие клавиши + +- `Ctrl+Enter` — Извлечь требования / Применить критерии +- `Ctrl+S` — Сохранить данные +- `Escape` — Назад к предыдущему экрану + +## Экспорт + +Формат: текстовый файл `.txt` с датой экспорта, покрытием требований, результатами сопоставления и вопросами для интервью. + +## Конфиденциальность + +- Данные не отправляются на сервер +- localStorage используется только с явного согласия +- Кнопка «Очистить всё» удаляет все данные без возможности восстановления +- Формулировки в интерфейсе нейтральные и уважительные + +## Лицензия + +Учебный проект для песочницы Vibe42.