Предоставляет возможность партнерам работать с базой заинтересованных кандидатов и отбирать не только текущих студентов, но и выпускников уровня middle
и выше.
Сервис с открытой базой из кандидатов для трудоустройства в компании-портнеры Практикума. Интерфейс помогает более качественно презентовать и рекомендовать студентов Практикума на вакантные, партнерские позиции в IT-компании России, а так же помочь быстрее отбирать кандидатов на специфические позиции с дополнительными требованиями.
(запускается локально)
http://127.0.0.1:8000/
(запуск на сервере)
https://51.250.74.42:8000/
/admin/ # Адрес админки проекта
/swagger/ # Документация
Handlers
api/auth/users/ # регистрация пользователя
api/auth/token/login/ # вход из системы
api/auth/token/logout/ # выход в систему
api/employer/ # Профиль нанимателя(HR)
api/employer/vacancy/ # Описание вакансии
api/employer/create/step-1/ # Первый шаг создания вакансии
api/employer/create/step-2/ # Второй шаг создания вакансии
api/resume/ # Резюме кандидата
api/tracker/ # Трекер вакансий
api/tracker/<vacancy_id>/comparison/ # Сравнение подходящих вакансий
api/tracker/<vacancy_id>/favorite/ # Избранные вакансии кандидатов
api/tracker/<vacancy_id>/invitation/ # Приглашенные кандидаты
-
Склонируйте репозиторий и перейдите в него:
git clone https://github.com/Oskalovlev/emp_track.git
cd YaTrack-backend/
-
Для работы с PostgreSQL:
-
Создайте в директории
infra/
файл.env
командой:touch infra/.env
Заполните переменные по примеру файла
.env.example
-
-
Создайте и активируйте виртуальное окружение Poetry:
Для Linux, macOS, Windows (WSL):
curl -sSL https://install.python-poetry.org | python3 -
Для Windows (Powershell):
(Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | py -
-
В macOS и Windows сценарий установки предложит добавить папку с исполняемым файлом Poetry в переменную PATH. Сделайте это, выполнив следующую команду (не забудьте поменять {USERNAME} на имя вашего пользователя):
- macOS:
export PATH="/Users/{USERNAME}/.local/bin:$PATH"
- Windows:
$Env:Path += ";C:\Users\{USERNAME}\AppData\Roaming\Python\Scripts"; setx PATH "$Env:Path"
Проверить установку:
bash poetry --version
- Установка автодополнений bash (опционально):
poetry completions bash >> ~/.bash_completion
- macOS:
- Создать файл .toml:
poetry init
Соглашаясь на все стандартные значения, если нет другого варианта
- Создание виртуального окружения:
poetry env use python
- Установка зависимостей:
poetry install --with dev,test
- Запуск оболочки и активация виртуального окружения (из папки проекта):
poetry shell
- Проверка активации виртуального окружения:
poetry env list
a. виртуальное окружение Poetry недоступно при выборе интерпретатора
С высокой вероятностью виртуальное окружение создалось вне папки проекта. Командой ниже можно удостовериться, что окружение будет создано внутри пути проекта:
poetry config virtualenvs.in-project true
Если проект уже был создан, придется пересоздать окружение:
poetry env list # вывести имя текущего окружения poetry env remove <current environment> # удалить текущее окружение poetry install # создаст новое окружение с уже с учетом нового конфига virtualenvs.in-project true
b. путь к Poetry не прописан / приходится указывать заново при переоткрытии проекта в редакторе
В зависимости от типа используемой оболочки, найдите и откройте bashrc / zshrc файл:
nano ~/.zshrc
Если в файле нет этой строки, добавьте ее и сохраните изменения (не забудьте указать свой {USERNAME}):
export PATH="/Users/{USERNAME}/.local/bin:$PATH"
-
-
Настройте pre-commit:
pre-commit
установится автоматически, после ввода команды зависимостей, можно проверить:pre-commit --version
Для работы нужно ввести команду:
pre-commit install
Теперь
pre-commit
рабатывает автоматически при коммитах.Исправленные
black'ом
файлы нужно добавить:git add .
-
Запустите сборку контейнеров:
docker compose -f infra/docker-compose.yaml up -d --build
-
Для остановки контейнеров:
docker compose -f infra/docker-compose.yaml stop
-
Для удаления контейнеров:
docker compose -f infra/docker-compose.yaml down (-v опционально, удалит связи)
-
Выполните миграции:
-
Инициализируйте миграции (опционально)
python src/backend/manage.py migrate
-
Создайте миграции
python src/backend/manage.py makemigrations user
python src/backend/manage.py makemigrations tracker
-
Примените миграции
python src/backend/manage.py migrate
-
-
Создайте суперюзера:
python src/backend/manage.py createsuperuser
Для примера, данные суперюзера:
username: admin mail: [email protected] password: admin password (again): admin
При входе логин указывать с большой буквы
Admin
- Соберите статику:
python src/backend/manage.py collectstatic --noinput
-
Локальный запуск:
python src/backend/manage.py runserver
PS Это побочная версия из хакатона, в котором я учавствовал в роли backend-разработчика. Доработал на свой взгляд, добавил фронтенд.
ссылка на сертификат участника: Сертификат хакатона Трекер
- Оскалов Лев (Telegram: @oskalov, Github: Oskalovlev)