Skip to content

givemepillow/mega-market

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

62 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Второе вступительное задание в ШБР.

REST API сервис, который позволяет магазинам загружать и обновлять информацию о товарах, а пользователям - смотреть какие товары были обновлены за последние сутки, а также следить за динамикой цен товара или категории за указанный интервал времени.

API сервиса реализует спецификацию в соответствии с заданием.

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

  1. Для запуска в Docker.

В папке с файлом docker-compose.yml выполнить следующие команды:

docker-compose build
docker-compose up
  1. Запуск без Docker - вручную.

Сначала необходимо установить Poetry:

curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python3 -

Затем получить requirements.txt и выполнить установку пакетов:

poetry export -f requirements.txt --output requirements.txt --without-hashes
pip install -r requirements.txt

Далее необходимо убедиться, что создана база данных в PostgreSQL, и выполнить миграции в папке с приложением, указав значения для вашей БД:

cd market
# Пример url: market_app:backend_school_2022@localhost:5432/mega_market
alembic -x url=<имя_пользователя>:<пароль>@<адрес>:<порт>/<название_вашей_базы_данных> upgrade head
cd -

Поле выполнения миграций остаётся установить переменные окружения:

export DB_URL=<имя_пользователя>:<пароль>@<адрес>:<порт>/<название_вашей_базы_данных>

И запустить приложение:

uvicorn market.api.main:app --port 80

About

Yandex Backend Development School task.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages