We Developed an API and Series of Management Tools for a Sports Clothing Brand in Dubai
In 2017 we developed an API for a mobile app and a series of management tools for Sun & Sand Sports, a leading sports clothing brand in Dubai.
Aduro were brought into Sun & Sand Sports agile programme to deliver an API to feed the mobile app, which is published on the iOS App Store and Google Play. Aduro worked with Sun & Sand Sports project managers and internal design and iOS/Android development team to deliver and integrate the API over a series of sprints spanning 12 weeks.
Aduro as part of their strategy phase chose to adopt the jsonapi.org methodology and Laravel to speed up the development and integration process so that the iOS/Android developers could follow the methodology as outlined for consuming the API. Furthermore, as part of the discovery phase, Aduro planned out how to integrate a set of ORM models in Laravel with the Magento database schema which follows the EAV database architecture.
The key challenges with this project were internationalisation of prices and translations, which were buried within the EAV structure of Magento's EAV database structure. One of the main challenges here was ensuring fast response times using advanced caching techniques, due to the high traffic the app receives. Aduro had to carefully ensure to follow indexes between the highly normalised database tables to ensure queries were as fast as possible.
Due to the success of delivering the API within 12 weeks and seeing the mobile app launched to the iOS App Store and Google Play, Sun & Sand Sports commission Aduro to work on series of management and merchandising tools. One of these tools is used to manage the order in which products are displayed and which ones are featured or on sale.
Another complex challenge was writing these changes back to Magento to ensure both the website and the mobile app could receive these changes. As part of the strategy phase Aduro planned out the data-flow for how and when changes would be saved locally as a drafts and revisions to the management tools and then ultimately when changes would be published to Magento's database.