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.