Проект представляет собой сервис для HR (рекрутеров), на котором они могут найти подходящего кандидата на свои вакансии из общего числа студентов и выпускников Практикума.
Проект создан @snurnisyan, @dariarus и @elana-tollu во время участия в хакатоне Яндекс Практикум.
Проект создан совместно в команде с PM, дизайнерами и backend-разработчиками.
Фичи:
- Валидация на поля и на корректность логина/пароля
- Обновление токена
- Все маршруты страницы защищены, кроме авторизации (доступ к функционалу имеют только авторизованные пользователи)
- Есть возможность выйти из системы
Фичи:
- Сброс как одного поля, так и всех полей формы
- При выборе большого числа навыков они сворачичаются и становятся доступны в виде модального окна:
Фичи:
- Добавление как одного кандидита в избранное, так и нескольких
- Выгрузка выбранных кандидатов в excel
- Пагинация и разные опции выбора отображения таблицы (по 10, 20 и 50 кандидатов)
- Сортировка внутри таблицы (по алфавиту, уровню квалификации и релевантности выдачи)
Фичи:
- Добавление кандидата в избранное
- Копирование контактных данных по клику (почты и телефона)
- Переадресация в телеграмм и по ссылке в портфолио
- Возможность загрузить резюме в .pdf
- Скролл при переполнении некоторых блоков контентом
Фичи:
- Плавное раскрытие и скрытие ("выезд" сбоку)
- Значения фильтров сохранено между страницами
- HTML и SCSS. Соблюдается корректная семантика тегов и продвинутая стилизация.
- React (React-router v.6). Компонентная сборка, авторизация, защищенные маршруты, роутинг.
- Redux Toolkit (+ Thunk). Используется хранилище Redux для хранения данных с API и работы с глобальным контекстом.
- Typescript. Весь код протипизован, в т.ч. и Redux хранилище.
- React Hook Form, yup. Для работы с формами и их валидацией.
- Material UI. Для работы с готовыми UI компонентами (кнопками, полями формы, иконками, лоадерами, карточками, таблицей и тд).
Проект создан с помощью Vite
Для запуска проекта предварительно должны быть установлены программы Git, Docker, NodeJS и менеджер пакетов npm.
Для запуска приложения необходимо выполнить следующие инструкции.
- Клонировать репозиторий с бэкенд-частью проекта:
git clone git@github.com:Hackathon-Practicum-Team7/backend.git
- Перейти в папку с проектом:
cd backend
- В директории /backend создать файл .env со следующим содержимым:
DB_ENGINE=django.db.backends.postgresql
POSTGRES_DB=hakaton
POSTGRES_USER=user
POSTGRES_PASSWORD=yourpassword
DB_HOST=db
DB_PORT=5432
- Запустить контейнеры в Docker:
docker compose up -d --build
docker compose exec -i backend python manage.py collectstatic --noinput
docker compose exec -i backend python manage.py migrate
- Загрузить фикстуры в БД:
docker compose exec -it backend python manage.py loaddata fixtures/data.json
-
Открыть приложение в браузере по адресу http://127.0.0.1:8000/.
-
Для авторизации необходимо использовать следующие данные:
Почта:
recruiter1@example.ru
Пароль:
password123
Просмотреть пример списка кандидатов можно, применив фильтры для направления "Программирование" и специализации "Фронтенд-разработчик"