Skip to content

Тестовое задание на стажера backend разработчика

Notifications You must be signed in to change notification settings

lenyagolikov/profile

Repository files navigation

Микросервис для работы с профилем пользователей

Что внутри?

Приложение упаковано в Docker-контейнер и разворачивается с помощью docker-compose

Внутри Docker-контейнера доступны две команды:

  1. app-db - утилита для создания таблиц в БД
  2. app - утилита для запуска приложения

Как запустить локально с Docker?

  1. Создать в папке deploy скрытый файл .env.prod
  2. Заполнить данные на примере файла .env.test (POSTGRES_HOSTS должен быть равен названию БД контейнера)
  3. Выполнить команду make run в терминале в корневой директории проекта
  4. Для остановки контейнеров используйте make stop, для удаления make down.

Как запустить локально без Docker?

Создание и активация виртуального окружения

python3.8 -m venv venv
source venv/bin/activate

Активация переменных окружения (заранее нужно изменить данные в deploy/.env.test)

export $(grep -v '^#' deploy/.env.test | xargs)

Установка приложения через pip, создание таблиц в БД и запуск приложения

pip install -e .
app-db upgrade head
app

Проверка работоспособности

curl localhost:8080/ping/app
curl localhost:8080/ping/db

Разработка

Быстрые команды

  • make run Запуск контейнеров
  • make build Пересборка контейнеров при изменениях в коде
  • make stop Остановка контейнеров
  • make down Остановка и удаление контейнеров
  • make lint Запуск линтера flake8
  • make cs Запуск black для форматирования кода
  • make test Запуск тестов
  • make test-cov Запуск тестов с покрытием кода
  • make test-cov-html Запуск тестов с отчетом в html
  • make req Обновление зависимостей

Документация

  • localhost:8080/docs
  • localhost:8080/redoc

About

Тестовое задание на стажера backend разработчика

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published