Тестовое задание

Клонирование репозитория: https://github.com/z00k0/numbers_test_task.git

Перед запуском проекта необходимо:

  • Получить токен для доступа к google API
  • Скопировать его в папку с проектом/куда удобно
  • В файле .env указать название файла (либо полный путь к файлу, если он лежит не в папке проекта) в пункте AUTH_JSON
  • Создать телеграм-бота через https://t.me/BotFather
  • В файле .env указать его токен TELEGRAM_TOKEN
  • Создать канал, добавить туда бота, дать ему права админа
  • В файле .env указать название канала channel_id

Запуск проекта docker-compose build

docker-compose up -d

  1. Приложение получает данные из из гугл таблицы по адресу https://docs.google.com/spreadsheets/d/1KV58tC_9yI-MO1xEofpVKu3dOh8o1c8cCCdwmAKtTMw/edit#gid=0

  2. Добавляет данные в базу PostgreSQL, с добавлением колонки «стоимость в руб.». Стоимость USD берется с сайта cbr.ru

  3. Скрипт работает постоянно. Проверка новых записей в файле происходит раз в 60 сек. При изменении данных (добавление, удаление, изменение записей), новые данные вносятся в базу.

  4. a. Скрипт упакован в докер контейнер.

    b. Скрипт проверяет не прошел ли "срок поставки" для записей. Если срок прошел, отправляется сообщение в телеграм. При успешной отправке сообщения запись заносится в базу отправленных сообщений, чтобы исключить повторную отправку по одним и тем же записям.