Giter Club home page Giter Club logo

hrportal's Introduction

Демонстрация

Сервис развернут по адресу: https://hrportal.sergei-kiprin.ru

Автогенерируемая Swagger-документация для backend

Запуск Frontend

Требуется:

cd frontend
npm install
ng serve

Приложение разворачивается на http://localhost:4200

Запуск Backend

Запуск в Windows:

Требуется:

В корневой папке должен находится файл .env с переменными окружения Скачать

Установить postgres и создать базу данных. Имя базы данных, имя пользователя и пароль вставить в .env в поля POSTGRES_DB_NAME, POSTGRES_USER, POSTGRES_PASSWORD.

cd backend
python -m venv venv
pip install -r requirements.txt
python manage.py migrate
python manage.py runserver

Приложение разворачивается на http://localhost:8000

Для создания суперюзеров (для доступа к панели администратора Django):

python manage.py createsuperuser

Запуск с помощью Docker:

Требуется:

В корневой папке должен находится файл .env.docker с переменными окружения Скачать

Для запуска только Backend в DEV режиме (на http://localhost:8000):

docker compose -f docker-compose-dev.yaml up -d

Также есть возможность добавить Frontend в DEV режиме (на http://localhost:4200):

docker compose -f docker-compose-dev.yaml --profile frontend up -d --build

Для запуска всего приложения (включая nginx) в PROD режиме (на http://localhost):

docker compose -f docker-compose-prod.yaml up -d --build

Аргумент --build необходимо использовать, если вы хотите быть уверены, что докер запустит контейнеры со всеми последними изменениями в коде. Если не использовать аргумент --build, Docker будет использовать последние собранные контейнеры. Также аргумент --build рекомендуется использовать в случае перехода с DEV на PROD версию Frontend, так как при сборке его контейнера используются переменные окружения.

Доступ к консоли внутри контейнера Backend:

docker exec -it django bash
# для создания суперюзеров
python manage.py createsuperuser

Настройки отправки почты

Для тестирования отправки почты зарегистрироваться на mailtrap.io и вставить в .env (.env.docker) собственные EMAIL_HOST_USER и EMAIL_HOST_PASSWORD (либо оставить имеющиеся, но письма будут приходить в ящик @angstorm)

Развертывание с Terraform:

terraform -chdir=terraform apply -target yandex_cm_certificate.hrportal
# output dns_challenge_cname = <dns challenge>
# подтвердить сертификат по DNS, создав cname запись <dns challenge>

terraform -chdir=terraform apply -target yandex_container_registry.hrportal
# output django_image_tag = <tag>
docker build backend -t <tag>
docker push <tag>

terraform -chdir=terraform apply

cd frontend
npm install
ng build
aws --endpoint-url=https://storage.yandexcloud.net/ s3 sync dist/out/assets s3://hrportal-static/assets
# перенести файлы сайта в браузер, в бакет hrportal-static

hrportal's People

Contributors

bjlados avatar helloeverybody avatar

Watchers

Kiprin Sergei avatar

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.