Skip to content

Latest commit

 

History

History
136 lines (93 loc) · 6.48 KB

README.md

File metadata and controls

136 lines (93 loc) · 6.48 KB

Practicum Project

Проект представляет собой сервис для HR (рекрутеров), на котором они могут найти подходящего кандидата на свои вакансии из общего числа студентов и выпускников Практикума.

Проект создан @snurnisyan, @dariarus и @elana-tollu во время участия в хакатоне Яндекс Практикум.

Проект создан совместно в команде с PM, дизайнерами и backend-разработчиками.


Реализованные страницы

1. Авторизация пользователя

image

Фичи:

  • Валидация на поля и на корректность логина/пароля
  • Обновление токена
  • Все маршруты страницы защищены, кроме авторизации (доступ к функционалу имеют только авторизованные пользователи)
  • Есть возможность выйти из системы

2. Фильтрация поиска кандидата

image

Фичи:

  • Сброс как одного поля, так и всех полей формы
  • При выборе большого числа навыков они сворачичаются и становятся доступны в виде модального окна: image

3. Результат поиска в виде таблицы

image

Фичи:

  • Добавление как одного кандидита в избранное, так и нескольких
  • Выгрузка выбранных кандидатов в excel
  • Пагинация и разные опции выбора отображения таблицы (по 10, 20 и 50 кандидатов)
  • Сортировка внутри таблицы (по алфавиту, уровню квалификации и релевантности выдачи)

4. Страница профиля кандидата

image

Фичи:

  • Добавление кандидата в избранное
  • Копирование контактных данных по клику (почты и телефона)
  • Переадресация в телеграмм и по ссылке в портфолио
  • Возможность загрузить резюме в .pdf
  • Скролл при переполнении некоторых блоков контентом

5. Модальные окна

Боковое меню с фильтрами:

image

Боковое меню профиля:

image

Фичи:

  • Плавное раскрытие и скрытие ("выезд" сбоку)
  • Значения фильтров сохранено между страницами

Основные технологии проекта

  1. HTML и SCSS. Соблюдается корректная семантика тегов и продвинутая стилизация.
  2. React (React-router v.6). Компонентная сборка, авторизация, защищенные маршруты, роутинг.
  3. Redux Toolkit (+ Thunk). Используется хранилище Redux для хранения данных с API и работы с глобальным контекстом.
  4. Typescript. Весь код протипизован, в т.ч. и Redux хранилище.
  5. React Hook Form, yup. Для работы с формами и их валидацией.
  6. Material UI. Для работы с готовыми UI компонентами (кнопками, полями формы, иконками, лоадерами, карточками, таблицей и тд).

Локальный запуск проекта

Проект создан с помощью Vite

Для запуска проекта предварительно должны быть установлены программы Git, Docker, NodeJS и менеджер пакетов npm.

Для запуска приложения необходимо выполнить следующие инструкции.

  1. Клонировать репозиторий с бэкенд-частью проекта:
git clone git@github.com:Hackathon-Practicum-Team7/backend.git
  1. Перейти в папку с проектом:
cd backend
  1. В директории /backend создать файл .env со следующим содержимым:
DB_ENGINE=django.db.backends.postgresql
POSTGRES_DB=hakaton
POSTGRES_USER=user
POSTGRES_PASSWORD=yourpassword
DB_HOST=db
DB_PORT=5432
  1. Запустить контейнеры в 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
  1. Загрузить фикстуры в БД:
docker compose exec -it backend python manage.py loaddata fixtures/data.json
  1. Открыть приложение в браузере по адресу http://127.0.0.1:8000/.

  2. Для авторизации необходимо использовать следующие данные:

Почта:

recruiter1@example.ru

Пароль:

password123

Просмотреть пример списка кандидатов можно, применив фильтры для направления "Программирование" и специализации "Фронтенд-разработчик"