Skip to content

shuler07/ToDoApp-API

Repository files navigation

ToDoApp API

Как запустить

API подключается через переменные окружения к заданным postgres и redis датабазам.

Для корректного запуска рекомендуется использовать Docker:

  1. Установить репозиторий локально (установить python и docker, если еще не установлены)
  2. Запустить билд образа API:
    docker build -t todoapp-api .
  3. Подтянуть образ postgres:
    docker image pull postgres:latest
  4. Подтянуть образ redis:
    docker image pull redis:latest
  5. Создать .env файл в корневой папке, который должен выглядеть следующим образом:
    POSTGRES_USER="имя пользователя для бд (придумать самому любое)"
    POSTGRES_PASSWORD="пароль пользователя для бд (придумать самому любой)"
    HOST_REDIS="redis"
    PORT_REDIS="6379"
    URL_DATABASE_POSTGRES="postgresql+psycopg://{POSTGRES_USER, без скобок}:{POSTGRES_PASSWORD, без скобок}@postgres:5432/todoapp"
    EMAIL_USER="{ваша почта для рассылки писем с верификацией}"
    EMAIL_PASSWORD="{специальный пароль для gmail api от вашей почты для рассылки писем с верификацией}" (для настройки почты для рассылки писем см. документацию smtplib)
  6. После настройки почты для рассылки писем, в корневой директории уже должен присутствовать файл credentials.json. После этого запустить quickstart.py:
    python quickstart.py
    (выполняется единожды для подключения к вашей почте и создания token.json)
  7. Поднять композ из API, postgres и redis:
    docker-compose up -d

После запуска API будет находиться по адресу - http://localhost:8000 документация - http://localhost:8000/docs. Сервер принимает запросы с адреса - http://localhost:5173

Чтобы настроить адреса, с которых сервер принимает запросы, измените middleware в файле main.py, перечислив свои адреса через запятую, в кавычках каждый:

allow_origins=["http://my_address:my_port", "..."]

About

ToDoApp API used for ToDoApp website

Resources

Stars

Watchers

Forks

Packages

No packages published