Big Data, Fast Data by The Big Datowski — eMAG Hackathon 2017 Best Customer/User Experience Award
First of all, if you don’t know what eMAG Hackathon is, you can read all about it here. I will jump directly into presenting the Big Datowski team, the winner of Best Customer/ User Experience Award: three gifted Software Developers (myself, Bogdan Mătăsaru and Vlad Fătu), one amazing Project Manager (Luminița Fediuc) and one awesome UX Designer (Radu Ene).
Each year eMAG likes shaking things up a bit for its programmers and gives them a challenge: 24 hours to code something…medium.com
We decided to work on a project focusing on Internet of things. As users of IFTTT, we thought it would be a good idea to design a service which would expose eMAG on IFTTT, and then connect to almost any number of the many services already available on the platform (more on that in a moment).
Unfortunately, in order to develop a standalone service on IFTTT one would need to apply for a partner account, but we didn’t get access to a demo account in time. Still, we were able to demo what a service would work like using a regular account and the Webhooks integration.
In order to demo our idea we needed the following:
- a proxy for eMAG’s APIs, since we didn’t have access to eMAG’s internal infrastructure
- some custom code in the native applications in order to trigger events in IFTTT (through the aforementioned proxy API)
- create a few demo webhook triggers in IFTTT to test that everything works as it should
For the proxy API we decided to experiment with something new so we chose Elixir as a programming language and Phoenix (touted by some as the Ruby on Rails killer) as a framework. This API was in charge of translating the signals received from IFTTT to eMAG API calls and viceversa. In order to achieve the reverse communication (from eMAG to IFTTT) we implemented some callbacks in the mobile apps (using Kotlin and Swift) — namely for the add to wishlist, add to cart, and place an order events
Tying up the loose ends
With the proxy API and the app callbacks in place, it was time to demo a few service integrations. We chose four (with more ideas in our presentation):
- Place an order on eMAG using the Google Home Assistant
- Press a DO Button and instantly place an order (not unlike some hardware shopping buttons 🙂)
- Configure a date of month and place a recurrent order on eMAG
- After adding a product to favorites, send a message to a Facebook Messenger group
They say that a picture is worth a thousand words, so here we are, after winning Best Customer/ User Experience Award