Давай кодить вместе!

Мы без остановки ищем самых талантливых специалистов в команду. А ещё предлагаем интересные задачи не только профи, но и начинающим разработчикам (мы же beginners friendly). И всё это за настоящую награду 🔥

Проявляй активность, смело предлагай свои решения и твоя работа не останется незамеченной: портфолио, бонусы и чувство удовлетворенности. Выбирай подходящую задачу и вперёд!

В работе 13
Сделано 0
ПОДАРОК СУДЬБЫ

Бот, который уведомляет об изменении таска в Jira

  1. В конфигурации бота указываем данные для интеграции с Jira.
  2. Пользователь пишет боту в личном или групповом чате сообщение Напоминай про [PROJECT_CODE-TASK_ID]
  3. Каждый раз, когда статус таска в Jira изменяется, бот пишет пользователю сообщение в формате *STATUS* - [PROJECT_CODE-TASK_ID](https://jira.domain.com/browse/PROJECT_CODE-TASK_ID) Title
  4. Пользователь может остановить отслеживание таска, написав в личном или групповом чате сообщение Не напоминай про [PROJECT_CODE-TASK_ID]
Перейти к делу
ПРИВЕТ, ЗАБВЕНИЕ

Бот, который напоминает об открытых пулреквестах

  1. В конфигурации бота указываем данные для интеграции с bitbucket. Логин автора в bitbucket и dialog должен быть одинаковым.
  2. Пользователь активирует бота в личном сообщении.
  3. Пользователь выбирает время напоминания об открытых пулреквестах в диалоге с ботом.
  4. Раз в день, в указанное время, от бота приходит оповещение с заголовками нерассмотренных пулркевестов и ссылками на них.
Перейти к делу
ПОРОЧНЫЙ КРУГ

Бот, который отправляет автору пулреквеста комментарии личным сообщением

  1. В конфигурации бота указываем данные для интеграции с bitbucket. Логин автора в bitbucket и dialog должен быть одинаковым.
  2. Бот отслеживает все новые комментарии к пулреквестам проекта.
  3. При появлении нового комментария к пулреквесту бот отправляет автору пулреквеста сообщение, которое состоит из текста комментария и ссылки.
Перейти к делу
ПАРАЛЛЕЛЬНОЕ ИЗМЕРЕНИЕ

Прогон тесткейсов из TestRail в чате

Работа осуществляется через TestRail API - http://docs.gurock.com/testrail-api2/start (доступные языки в ассортименте)

  1. Пользователь начинает общение с ботом (/start).
  2. Бот присылает пользователю список доступных для выбора тест-сьютов (get_suites).
  3. Пользователь выбирает сьют (кнопкой или сообщением с номером).
  4. Бот создает тест-ран (add_run) по выбранному пользователем тест-сьюту.
  5. Бот получает тесты (get_tests) из созданного в предыдущем шаге тест-рана.
  6. Бот присылает пользователю первый тест (gettest) ⁣ ⁣и набор кнопок, каждая из котрых отправляет тот или иной результат (addresult) для текущего теста. Набор информативных полей теста зависит от целей тестирования, это могут быть поля «content» и «expected».
  7. Пользователь выбирает одну из кнопок.
  8. Бот присылает пользователю следующий тест.
  9. ++ пока не будут пройдены все тесты.
  10. Бот формирует итоговый отчет, закрывает тест-ран (close_run) и присылает пользователю файл (вид и формат отчета можно изменить)
Перейти к делу
ДЖАРВИС, ЧЕМ Я СЕЙЧАС ЗАНИМАЮСЬ?

Бот, который присылает все актуальные таски в Jira

  1. В конфигурации бота указываем данные для интеграции с Jira. Логин автора в Jira и dialog должен быть одинаковым.
  2. Пользователь пишет боту в личном или групповом чате сообщение Джарвис, чем я сейчас занимаюсь?
  3. Бот присылает в чат сообщение с названием каждого назначенного на пользователя таска в состоянии in progress. Каждый таск является строкой в сообщении. Каждая строка оформлена по формату Time in progress - [PROJECT_CODE-TASK_ID](https://jira.domain.com/browse/PROJECT_CODE-TASK_ID) Title.
Перейти к делу
ONE MAN ARMY

Бот, который создает таски в Jira

  1. В конфигурации бота указываем данные для интеграции с Jira. Логин автора в Jira и dialog должен быть одинаковым.
  2. Пользователь пишет боту в личном или групповом чате сообщение с текстом таска.
  3. Бот присылает дропдаун меню, которое содержит список проектов. Здесь же можно создать таск или отменить процесс создания таска кнопкой stop. 4.1) Пользователь выбирает пункт из меню. Бот создает таск и присылает текст [PROJECT_CODE-TASK_ID](https://jira.domain.com/browse/PROJECT_CODE-TASK_ID) Title 4.2) Пользователь выбирает кнопку stop. Бот сбрасывает процесс создания таска
  4. Пользователь присылает текст или файл/скриншот в ответ на сообщение.
  5. Бот добавляет в комментарии к этому таску данный текст или файл/скриншот.
Перейти к делу
ДЕЛА СЕМЕЙНЫЕ

Бот, который присылает список участников команды с in progress тасками и временем в работе

  1. В конфигурации бота указываем данные для интеграции с Jira. Логин автора в Jira и dialog должен быть одинаковым. \n
  2. Пользователь пишет боту в личном или групповом чате сообщение Чем занята команда? \n
  3. Бот присылает в чат сообщение с список участников команды с in progress тасками и временем в работе. Каждый пользователь разделен строкой - для него выводится построчный список тасков. Каждая строка оформлена по формату Time in progress - [PROJECT_CODE-TASK_ID](https://jira.domain.com/browse/PROJECT_CODE-TASK_ID) Title.
Перейти к делу
ДИВНЫЙ НОВЫЙ МИР

Виджет/модуль файлового менеджера под Android (от 4.4 и выше)

Необходимые возможности:

  • Навигация по ФС с возможностью подняться на уровень выше
  • Возможность закрыть виджет без выбора файлов

Дополнительные возможности:

  • Локализация
  • Кастомизация стилей
  • Возможность выбрать несколько файлов из разных директорий
  • Возможность просмотреть список файлов перед финальной отправкой в приложение-хост
  • Возможность фильтрации файлов по типам/расширениям
  • Различный дизайн для телефонов и планшетов
Перейти к делу
МУНИЦИПАЛЬНЫЙ АРХИВ

Бот, который выгружает запланированные отпуска из Google Calendar

  1. В конфигурации бота указываем данные для интеграции с G Suite. Логин автора в Google и dialog должен быть одинаковым.
  2. Пользователь пишет боту команду Календарь отпусков.
  3. Бот присылает пользователю текстом список заголовков всех ивентов в календаре. Каждый ивент на отдельной строке с сортировкой от ближайшего.
  4. Пользователь пишет боту команду Отпуски в МЕСЯЦ.
  5. Бот присылает пользователю текстом список заголовков всех ивентов в календаре за указанный месяц. Каждый ивент на отдельной строке.
  6. Пользователь пишет боту команду Отпуски в QX где X - это номер квартала. 1 - январь, февраль, март; 2 - апрель, май, июнь; 3 - июль, август, сентябрь; 4 - октябрь, ноябрь, декабрь.
  7. Бот присылает пользователю текстом список заголовков всех ивентов в календаре за указанный квартал. Каждый ивент на отдельной строке.
Перейти к делу
ХЬЮСТОН

Модуль для визуализации аудиосообщений

Необходимо создать модуль/виджет/библиотеку для визуализации аудиосообщений в андроиде. Он должен предоставлять пользователю возможность видеть “Sound Wave” (аудио-волну) и перемещаться к определенным отрезкам аудио. Реализация данного модуля должна учитывать и легко встраиваться в текущую архитектуру проекта.

Основные технические требования

  • Поддержка андроид начиная с версии API 19
  • Отдельная View
  • Модуль не должен использовать сторонние библиотеки
  • Исходный код должен быть на Kotlin
  • Будет плюсом поддержка реактивности (Rx)
  • Будет плюсом покрытие тестами
  • View должна поддерживать конфигурацию: цвет, размер блоков и пр.
  • Архитектура должна предусматривать масштабирование. Например, крайне приветствуется реализация на основе интерфейсов, чтобы можно было заменить реализацию рендеринга внешнего волны (см. примеры внешнего вида)
  • Пользовательский кейс
Перейти к делу
НЕНАЗВАННЫЙ ГЕРОЙ

Бот, который поможет не пропустить упоминания в нужных чатах

  1. Добавляем бота в групповые чаты, где нужно следить за меншенами.
  2. В личных сообщениях у бота включаем отслеживание меншенов на свой логин.
  3. В личных сообщениях у бота можно включить или выключить чаты, в которых необходимо отслеживать упоминания. Бот может самостоятельно отслеживать чаты, в которые он добавлен и предлагать эти чаты в настройках.
  4. В личных сообщениях у бота указываем, в какое время бот должен присылать сводку упоминаний.
  5. В указанное время бот присылает оповещение по всем меншенам пользователя за день в каждом чате. Каждое сообщение может быть оформлено форвардом, либо содержать ссылку на переход к оригинальному сообщению. Сообщения должны быть сгрупированы по группам.
Перейти к делу
БЕСКОНТАКТНЫЙ БОЙ

Бот для просмотра и обновления OKR в сервисе gtmhub.com

  1. В конфигурации бота указываем данные для интеграции с gtmhub.com. Логин автора в gtmhub.com и dialog должен быть одинаковым.

  2. Пользователь пишет боту в личное собщение Мои OKR [название_списка]

    Бот присылает пользователю его цели из указанного списка в сообщении в формате:

    • [Цель 1](ссылка на цель) - процент выполнения
    • [Название ключевого результата](ссылка на ключевой результат) - значение - процент выполнения- кнопка Обновить
    • [Ключевой результатX](ссылка на ключевой результат) - значение - процент выполнения- кнопка Обновить
    • [Цель X](ссылка на цель) - процент выполнения
    • [Название ключевого результата](ссылка на ключевой результат) - значение - процент выполнения- кнопка Обновить
    • [Ключевой результатX](ссылка на ключевой результат) - значение - процент выполнения- кнопка Обновить
  3. Пользователь пишет боту в личное собщение OKR @username [название_списка]

    Бот присылает пользователю цели указанного пользователя из указанного списка в сообщении в формате:

    • [Цель 1](ссылка на цель) - процент выполнения
    • [Название ключевого результата](ссылка на ключевой результат) - значение - процент выполнения
    • [Ключевой результатX](ссылка на ключевой результат) - значение - процент выполнения
    • [Цель X](ссылка на цель) - процент выполнения
    • [Название ключевого результата](ссылка на ключевой результат) - значение - процент выполнения
  4. Пользователь кликает на Обновить в одном из своих ключевых результатов

    • Бот присылает пользователю сообщение в формате: Название ключевого результата Cейчас - текущее значение ключевого результата Должно быть - целевое значение ключевого результата Укажите новое значение
    • Пользователь отправляет цифровое значение. Если значение не подходит по формату, бот просит указать корректное значение.
    • Бот присылает пользователю сообщение в формате: Что поменялось? Почему?
    • Пользователь отправляет любое текстовое сообщение.
    • Бот присылает пользователю сообщение в формате: Укажите уровень уверенности в результате [дропдаун_со_всеми_возможными_результатами]
    • Пользователь выбирает результат
    • Бот присылает пользователю сообщение в формате: [Ключевой результат](ссылка на ключевой результат) - новый процент выполнения Кнопка Отправить, Кнопка Отменить 4.9.1) Пользователь выбирает отправить и бот отправляет новые значения в gtmhub. 4.9.2) Бот присылает пользователю сообщение в формате: Результат обновлен 4.10.1) Пользователь выбирает Отменить и бот сбрасывает все поля. На любом предыдущем этапе пользователь вместо нажатия кнопки может отправить /stop. 4.10.1) Бот присылает пользователю сообщение в формате: Ввод результатов сброшен
Перейти к делу
АДАПТАЦИЯ К ЖИЗНИ

Бот, который напоминает о чем-то в заданное время

  1. Пользователь отправляет боту сообщение с текстом напоминания.
  2. Бот предлагает пользователю время, когда нужно прислать напоминание.
  3. В заданное время бот нотправляет оповещение.
Перейти к делу