Необходимо разработать скрипт на языке Python 3, который будет выполнять следующие функции:
-
Получать данные с документа при помощи Google API, сделанного в Google Sheets (необходимо копировать в свой Google аккаунт и выдать самому себе права).
-
Данные должны добавляться в БД, в том же виде, что и в файле – источнике, с добавлением колонки «стоимость в руб.»
a. Необходимо создать DB самостоятельно, СУБД на основе PostgreSQL.
b. Данные для перевода $ в рубли необходимо получать по курсу ЦБ РФ.
-
Скрипт работает постоянно для обеспечения обновления данных в онлайн режиме (необходимо учитывать, что строки в Google Sheets таблицу могут удаляться, добавляться и изменяться).
Дополнения, которые дадут дополнительные баллы и поднимут потенциальный уровень оплаты труда:
-
a. Упаковка решения в docker контейнер
b. Разработка функционала проверки соблюдения «срока поставки» из таблицы. В случае, если срок прошел, скрипт отправляет уведомление в Telegram.
c. Разработка одностраничного web-приложения на основе Django или Flask. Front-end React.
-
Решение на проверку передается в виде ссылки на проект на Github. В описании необходимо указать ссылку на ваш Google Sheets документ (открыть права чтения и записи для пользователя sales@numbersss.com ), а также инструкцию по запуску разработанных скриптов.
Критерии оценки:
Всего за выполнение тестового задания можно получить 100 баллов, количество баллов выставляется согласно таблице ниже. Внимание! Работы соискателей, не выполнивших первые 3 пункта, не будут проверяться.
- При проверке под правильностью работы будет пониматься соответствие функционала программы поставленному ТЗ.
- При оценке читаемости кода, не требуется 100% соблюдения стандарта PEP 8, но код должен быть логичен и не перегружен, необходимо соблюдение отступов и логики названия переменных и структур данных.
- Оценка эффективности будет включать в правильность применения алгоритмов и структур данных. Например, стоит учитывать, что кортеж (tuple) работает быстрее, чем списки (list).
- Комментированность кода – комментарии должны быть понятны проверяющему, и содержать достаточную информацию о функции, классе или методе.
- По 5 пункту оценивается соответствие требованиям и подробность инструкции по запуску. Если для пользователя проверяющего не будет открыт доступ, или согласно инструкции не предоставленное ПО не запуститься баллы не будут начислены.