MiShop.local | API For Multi-location Retail Data

Company
  • Mishoplocal.
Industry
  • Local presence management.
  • Management of multi-location retail data.
Project
  • Application Programming Interface (API)
Aim
  • Build a custom API using a Javascript-based solution with Note JS.
  • This API needed to gather and securely store opening and closing data.
  • Including the availability of stores, in an automated fashion.
  • The API needed to be robust and future-proof.
Objectives
  • Take disparate data streams in different formats from 180 stores and make them compatible through an API.
  • Securely store the data.
  • Develop a data management system that complimented the client’s needs.
Challenges
  • Consultation with our client revealed a lot of vital information was missing from the project brief.
  • Deconstruct and document the data gathering process used by an Indian Operations team.
  • Integrate our solution onto an existing data management system on Note JS, using Javascript.
  • Some data needed custom libraries to make it compatible.
  • Not all stores used the same data streams or management systems.
  • Take edge cases, the variety of data extremes, and adjust our programming to take account of those.
  • Build-in functionality for unforeseen changes – i.e. changes in opening times due to last-minute events.
  • Build custom libraries that could be used to transform types of data, integers to strings and vice versa.
  • Making sure an Indian operations team could effectively use this API.
Highlights
  • Going through the process of documentation added a lot of value.
  • Discovering a lot of unknown unknowns in the process was a lot of fun, and it meant we could best handle edge cases.
  • This made mapping the inputs through processing modules and obtaining the right output both challenging and rewarding.
Outcomes
  • Every requirement in the project brief was accommodated.
  • Edge cases were adjusted for.
  • Long-term functionality was ensured.
  • A robust and low-maintenance API was delivered.
  • Mishop.local were, and continue to be, very satisfied.
  • Our API works as expected, and has withstood the test of time.
  • Minor adjustments would be needed if a supplier decided to entirely change the data structure.
Hindsight
  • It would have been easier to work with PHP and Laravel to build custom libraries.
  • However, Mishop.local already had parts of a local system on Note JS with Javascript that they used to manage data.