Облегчили жизнь разработчикам вместе с Uploadcare

Рассказываем, как помогли команде проекта Uploadcare переписать и обновить библиотеки Python и Ruby и, тем самым сделали платформу управления файлами более доступной, актуальной и востребованной среди других разработчиков.

December 2021

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

Комплексная облачная платформа Uploadcare предоставляет простые, мощные, удобные для разработчиков строительные блоки для управления загрузкой, обработкой и доставкой файлов. С помощью Uploadcare разработчики могут быстро охватить весь цикл обработки файлов вместо того, чтобы несколько месяцев заниматься ручной работой.

Вы можете:

  • получать файлы от своих пользователей с помощью виджета загрузки или загружать их через вызов API;
  • обрабатывать их на лету с помощью десятков фич CDN или REST API;
  • доставлять их напрямую из CDN разных вендоров. 

Всё это просто использовать даже в самом маленьком проекте, и при этом соблюдаются требования даже самых крупных предприятий.

Evrone и Uploadcare стали партнёрами, чтобы усовершенствовать библиотеки Ruby и Python, сделав решения актуальными, более доступными и полезными для разработчиков программного обеспечения.

Задачи проекта

Летом 2021 команда Uploadcare обратилась в Evrone, потому что искала профессионального Ruby-разработчика, который взял бы на себя разработку клиентов к API для Ruby и Ruby on Rails. Требовался надёжный партнёр с опытом создания продуктов для других разработчиков.

Нашей совместной целью было:

  • обновить текущие библиотеки Python, Django, Ruby и Ruby on Rails с учетом новых возможностей API, а также новых версий этих языков;
  • разработать план взаимодействия на будущее;
  • задействовать, где это возможно, Uploadcare в проектах для клиентов Evrone.

Мы начали работу над интеграцией Uploadcare в июле 2021 года в режиме полного аутстаффинга: руководитель проекта Роман Седых и тимлид Дмитрий Мухин со стороны клиента, а также два бэкенд-разработчика на Ruby и Python с нашей стороны.

Обновление библиотеки для Python 

Библиотека для Python не обновлялась несколько лет. Необходимо было довести её до уровня других библиотек.

Что мы сделали:

  • провели рефакторинг библиотеки;
  • реализовали функции для работы со всеми конечными точками API (добавлена поддержка многокомпонентной загрузки, конвертация видео и документов, вебхуки и аутентифицированные URL)
  • доработали консольную утилиту;
  • протестировали функциональности библиотеки;
  • создали демо-версию приложения на Django, чтобы продемонстрировать возможности библиотеки;
  • обновили документацию для библиотеки и демо-версии приложения.

Разработка библиотек для Ruby и Rails

Мы переписали с нуля библиотеку Rails для Uploadcare API, а также добавили новую функциональность в библиотеку Ruby. Кроме того, мы привлекли ещё одного из наших бэкенд-разработчиков для проведения code review. Работа с сервисом Uploadcare, конечно же, не обошлась без Github, где сейчас живет проект.

Мы использовали новые интересные инструменты, которые помогают обрабатывать файлы с помощью API. ApiStruct gem для сборки API-ориентированных приложений, Parallel для параллельного выполнения кода и VCR для симуляции HTTP-запросов и ответов.

Заключение

Мы рады, что помогли такому стартапу, как Uploadcare, улучшить API-клиенты. У Uploadcare уже есть ряд отличных решений, которые сокращают время вывода продукта на рынок, так как позволяют разработчикам полностью сосредоточиться на основном продукте, а не на инфраструктуре.

Интеграция Uploadcare в свои продукты поможет разработчикам на Ruby и Python опередить конкурентов. Время, сэкономленное на создании решения для управления файлами, пойдет на сборку фич. Если вам требуется готовое решение для работы с файлами, созданное инженерами для инженеров, попробуйте бесплатный сервис Uploadcare.

Так как мы сами разработчики, мы знаем как создавать инструменты, которые облегчат труд других разработчиков и помогут в реализации их проектов. Мы разрабатываем множество проектов с открытым исходным кодом, потому что инициативны и понимаем, что нравится и что нужно разработчикам. Познакомьтесь с нашими статьями о Go-clean-template, Casbin-ruby, Datanymizer и многом другом. Если вам требуется обновить свой проект до последних версий технологического стека, свяжитесь с нами через форму ниже

Нам очень повезло найти Evrone. Создавать open-source решения для разработчиков очень сложно. Большинство поставщиков создают "чёрные ящики" и не готовы, чтобы их код критиковали. Но ребятам из Evrone это прекрасно удалось.
Роман Седых
PM Uploadcare
Будем на связи
Прикрепить файл
Максимальный размер файла: 8 МБ.
Допустимые типы файлов: jpg jpeg png txt rtf pdf doc docx ppt pptx.