All Technologies Used
Motivation
The client, a leading online procurement software provider, struggled to manage 14,000 suppliers and over 1 million catalog items manually. Their existing platform lacked a scalable API and sufficient automation, causing delays, inefficiencies, and increased operational workload. Azati’s engagement focused on modernizing the backend, building a robust API, and enhancing procurement workflows to save time, reduce errors, and improve user experience.
Main Challenges
The client needed a completely new API for the existing procurement platform while preserving legacy functionality and ensuring backward compatibility. The complexity of integrating with multiple subsystems and handling high data volumes required a flexible, scalable design. Azati proposed a hybrid approach using Ruby on Rails with GraphQL and JSON API, enabling long-term maintainability and easier integration.
Following the departure of the previous team lead, the project contained undocumented, unclear tasks and missing functionality. Azati’s team had to reverse-engineer requirements, prioritize incomplete features, and implement them without disrupting existing workflows. Close collaboration with new leadership and legacy engineers was essential to deliver quality, maintain stability, and ensure continuity.
Our Approach
Want a similar solution?
Just tell us about your project and we'll get back to you with a free consultation.
Schedule a callSolution
Trading Module
- End-to-end trading workflow management
- Inventory and catalog tracking
- Analytics and reporting for supplier performance
Supplier Module
- Catalog management and updates
- Sales activity monitoring
- Competitor and price analysis tools
Buyer Module
- Product comparison and search
- Automated procurement workflow
- Payment and order tracking
Business Value
Robust API Infrastructure: A fully functional and well-documented API based on Ruby on Rails and Rails Engines provided a strong foundation for future platform development.
Accelerated Frontend Development: With a stable and comprehensive backend in place, the client’s frontend team was able to implement new features faster and more efficiently.
Improved Feature Delivery: New functionality was delivered with thorough test coverage, increasing platform reliability and reducing production issues.
Reusable Architecture: Several independent Ruby Engines were developed from scratch, enabling modular reuse and simplified future expansions.
Enhanced Platform Capabilities: The existing platform’s functionality was significantly upgraded, improving user experience and optimizing procurement workflows.