Облегчили жизнь разработчикам вместе с Uploadcare
Рассказываем, как помогли команде проекта Uploadcare переписать и обновить библиотеки Python и Ruby и, тем самым сделали платформу управления файлами более доступной, актуальной и востребованной среди других разработчиков.
Облачные инструменты стали стандартом для разработки программного обеспечения: они позволяют разработчикам сосредоточиться на продуктах, не отвлекаясь на инфраструктуру. Файловая инфраструктура также переходит в облако.
Комплексная облачная платформа 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 и многом другом. Если вам требуется обновить свой проект до последних версий технологического стека, свяжитесь с нами через форму ниже