Git Product home page Git Product logo

recruitment-process-back's Introduction

recruitment-process-back

recruitment-process Code style: black

Бэкенд CRM для HR

О проекте:

Meeting ROOM – веб-интерфейс для HR в крупных компаниях. Поможет HR упростить процесс найма сотрудников с помощью CRM-платформы.

Оглавление:

Запуск приложения

Клонирование реппозитория

git clone [email protected]:recruitment-process/recruitment-process-back.git

Перейдите в папку с проектом recruitment-process-back, установите и запустите виртуальное окружение.

cd recruitment-process-back
python -m venv venv
  • Если у вас Linux/MacOS

    source venv/bin/activate
    
  • Если у вас windows

    source venv/Scripts/activate
    

Установка зависимостей

pip install -r requirements.txt

Применяем миграции:

python manage.py migrate

Создаем суперпользователя:

python manage.py createsuperuser

Запуск приложения на локальном сервере

Перейдите в папку crm_backend

cd crm_backend
  • Если у вас windows
    python manage.py runserver
  • Если у вас Linux/MacOS
    python3 manage.py runserver

Запуск тестов:

python manage.py test

Документация API доступна по адресам:

http://127.0.0.1:8000/api/schema/swagger-ui/
http://127.0.0.1:8000/api/schema/redoc/

Админка доступна по адресу:

http://127.0.0.1:8000/admin/

Установка pre-commit hooks

Для того, чтобы при каждом коммите выполнялись pre-commit проверки, необходимо:

  • Установить pre-commit
  • Установить pre-commit hooks

Установка pre-commit

Модуль pre-commit уже добавлен в requirements и должен установиться автоматически с виртуальным окружением.

Проверить установлен ли pre-commit можно командой (при активированном виртуальном окружении):

pre-commit --version
>> pre-commit 3.3.3

Если этого не произошло, то необходимо установить pre-commit:

pip install pre-commit

Установка hooks

Установка хуков:

pre-commit install --all

Установка хука для commitizen

pre-commit install --hook-type commit-msg

В дальнейшем, при выполнении команды git commit будут выполняться проверки, перечисленные в файле .pre-commit-config.yaml.

Если не видно, какая именно ошибка мешает выполнить commit, можно запустить хуки вручную командой:

pre-commit run --all-files

Работа с commitizen

Чтобы сгенерировать установленный git-commit, запустите в вашем терминале

cz commit

или сочетание клавиш

cz c

Используемые технологии

  • Python 3.10
  • Django 4.1
  • Django Rest Framework 3.14.0

Авторы

recruitment-process-back's People

Contributors

dosuzer avatar egorfedotov avatar g-bedy avatar ivan-hedgehog avatar margoloko avatar mishatar avatar

Stargazers

 avatar  avatar

recruitment-process-back's Issues

Настроить pre-commit, для проверки отправляемых коммитов и поддержания единого стиля кода

  • Переформатирование кода, согласно правилам форматирования кода (подключить black)
  • Удаление неиспользуемых импортов библиотек и неиспользуемых переменных (подключить autoflake или isort)
  • Проверка на соответствие стандартам форматирования (подключить flake8)

QA: Прогон тестов по интерфейсу раздела Вакансии

Анна

https://recruitment-process.github.io/recruitment-process-frontend/#/login

  1. Провести тестирование экрана экрана Регистрации по составленному ТТК в рабочем пространстве test в
    Google Chrome v.115.0.5790.102
    Яндекс Браузер v.23.7.0.2562
    Safari v.16.6 (18615.3.12.11.2)
  2. Составить отчет о тестировании

QA: Прогон тестов по интерфейсу экрана Регистрации

Наталья

https://recruitment-process.github.io/recruitment-process-frontend/#/login

  1. Провести тестирование экрана экрана Регистрации по составленному ТТК в рабочем пространстве test в
    Google Chrome v.115.0.5790.102
    Яндекс Браузер v.23.7.0.2562
    Safari v.16.6 (18615.3.12.11.2)
  2. Подготовить отчет о тестировании

Настройка Google Cloud Platform

Необходимо для дальнейшего подключения гугл календаря

  • Создать проект — связующее звено между нужными Google API и вашим Python-приложением.
  • Подключить к проекту API
  • Создать сервисный аккаунт — непользовательскую учётную запись. Такая учётная запись принадлежит Google Cloud Platform, а не пользователю. Она служит для подключения и управления продуктами и сервисами Google Cloud Platform из ваших приложений.
  • Получить ключ и JSON-файл с данными сервисного аккаунта, чтобы управлять подключенными API из вашего Python-приложения.

QA: Прогон тестов по интерфейсу верхнего и бокового барам

Артур

https://recruitment-process.github.io/recruitment-process-frontend/#/login

  1. Провести тестирование экрана экрана Регистрации по составленному ТТК в рабочем пространстве test в
    Google Chrome v.115.0.5790.102
    Яндекс Браузер v.23.7.0.2562
    Safari v.16.6 (18615.3.12.11.2)
  2. Составить отчет по тестировании.

QA: ТК по разделу Вакансии (экран 1 и 2)

Анна
Составить в qase.io набор проверок на логику работы и интерфейс раздела Вакансии с учетом карточки вакансии и списка кандидатов под вакансию

QA: Прогон тестов по интерфейсу экрана Вход

Артур

https://recruitment-process.github.io/recruitment-process-frontend/#/login

  1. Провести тестирование экрана экрана Регистрации по составленному ТТК в рабочем пространстве test в
    Google Chrome v.115.0.5790.102
    Яндекс Браузер v.23.7.0.2562
    Safari v.16.6 (18615.3.12.11.2)
  2. Составить отчет о тестировании

Интеграция фронт + бэк / сохранение состояния dropDownList

на странице вакансии с кандидатами есть выпадающее меню DropwodnList (см скрин ниже)
если мы добавляем новый этап в этом всплывающем списке, то нужно его сохранять на бекенде - т.е. сохранять состояние этого всплывающего меню

референт от фронтов: Паша Мелехин @Pavelsmcom

Image

QA: ТК экран Входа

Артур Г.
Составить в qase.io набор проверок логики работы и интерфейса окна Входа

QA: Инструкция по локальному запуску фронта

Инструкция для первого запуска

  1. Необходимо настроить Git:
    Скачать и установить:
    https://git-scm.com/download/
  2. Зайти в папку гита, запустить git bash - появится командная строка
  3. Установите имя пользователя и почту для гита (лучше чтобы они совпадали с gitHub)
    git config --global user.name "Stas Basov"
    git config --global user.email "[email protected]"
    Проверить, что всё ввелось:
    git config --list
  4. Не в консоле создайте папку для работы с проектами (например c:/dev)
  5. в git Bash перейти в папку, где будут храниться проекты, выполнив:
    cd c:/dev
  6. Настроить ssh ключи и привязать их к gitHub по картинке
  7. Склонировать репозиторий с проектом, выполнив
    git clone
    [email protected]:recruitment-process/recruitment-process-frontend.git
  8. Установить на компьютер node.js:
    https://nodejs.org/en/download
  9. Установить на компьютер VsCode
    https://code.visualstudio.com/
  10. Запустить VsCode и выбрать папку со скаченным проектом
  11. Сверху VsCode нажать Terminal\New terminal
  12. Ввести git branch - он покажет в какой ветке вы находитесь
  13. Введите git checkout develop - попадёте на нашу ветку с работой
  14. Введите git branch - он покажет, что вы находитесь в ветке develop
  15. Введите npm install - node.js установит необходимые зависимости
  16. Введите npm start для запуска проекта или
    npm run storybook для запуска storybook

Image

Настроить правила оформления коммитов

Подключить commitizen для приведения к единому стилю именований коммитов, облегчению чтения коммитов, а также возможности автоматического формирования журнала изменений (changelog)

  • Подключить commitizen
  • Подцепить commitizen в pre-commit
  • Скорректировать настройки конфигурации под проект

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.