Collaborating with Uploadcare to support software developers
Cloud-based tools have become standard for software development, allowing engineers to focus on their products instead of infrastructure. File infrastructure is also moving to the cloud.
Uploadcare provides companies with simple, powerful, developer-friendly building blocks to handle file uploading, processing, and delivery. With Uploadcare, developers can cover the entire file cycle fast, eliminating months of manual work.
You can receive files from your users with an uploading widget or upload them via API call. Process them on the fly with dozens of CDN features, or REST API. And then deliver them directly from multi-vendor CDN. Everything is simple for the smallest project and compliant for the largest enterprise.
Evrone partnered with Uploadcare to improve their Ruby and Python libraries, making the solutions up to date and more accessible and useful for software developers.
When the Uploadcare team turned to Evrone in the summer of 2021, they were looking for a professional Ruby developer to take over their Ruby and Ruby on Rails API clients. They wanted a trusted partner with experience in building products for other developers.
The goals of our collaboration were to:
- Update current Python, Django, Ruby, and Ruby on Rails libraries, both in terms of new API features and new versions of those programming languages
- Develop our plan of interaction for the future
- Potentially use Uploadcare on Evrone client projects, where possible
We started working on the Uploadcare integration in July 2021, in full outstaffing mode, with project manager Roman Sedykh and team lead Dmitry Mukhin from the client’s side, and two Ruby and Python backend developers from our side.
Updating the Python library of the project
The Python library had not been worked on in a few years, and it was necessary to catch it up with other libraries, in terms of supported features.
What we did:
- Refactored the library
- Implemented functionality for working with all API endpoints (added support for multipart uploads, video and document conversion, webhooks, and authenticated URLs)
- Refactored the console utility
- Covered the library functionality in tests
- Created a demo application in Django to demonstrate the capabilities of the library
- Updated documentation for the library and demo application
Developing Ruby & Rails libraries
We rewrote the Rails library for the Uploadcare API from scratch, and also added new functionality to the Ruby library. In addition, we brought in one more of our backend developers to do the code review. Working with the Uploadcare service was, of course, not done without Github, where the project now lives.
Speaking of interesting new tools, we used the ApiStruct gem to build API-oriented applications, Parallel for parallel code execution, and VCR for simulating HTTP requests/responses.
As a result, we have implemented a convenient interface for Ruby/Rails developers, so that it is now easy for them to use the Uploadcare services in their projects. In the end, the client was highly satisfied with the results of our collaboration.
We are glad to have helped a startup like Uploadcare improve its API clients. Uploadcare has a set of great products that shortens time to market, letting developers focus on their core product development and not infrastructure. Thanks to our collaborative work with the client, Ruby and Python developers can now seamlessly integrate Uploadcare solutions into their tech products and spend more time building features and staying ahead of their competition, and less time building uploading, processing, and delivery systems. If you need a complete out-of-the-box file handling solution, built for engineers by engineers, try Uploadcare for free.
As a team of developers, we are dedicated to building tools that help developers improve their work and projects. We develop many open-source projects that show our initiative and understanding of what developers love and need. Check our articles on Go-clean-template, Casbin-ruby, Datanymizer, and more. And of course, reach out to us, via the form below, if you need to update your project to the latest versions of the technology stack!