Hello, world! Today you are stuck with me and our in-development MEAN stack project, HotBread. Let me explain what this project is about before we dive into the details.

This idea rose from the need of delivering a more personal experience for the customer on eCommerce websites. Basically it learns the preferences of the customer and makes them an offer that they can’t refuse, that’s why we should have called it Godfather, but we can’t.

The MEAN Stack

The technologies we use: Node.js + Express + MongoDB for the API magic, Laravel for the admin dashboard and plain PHP for the different ecommerce plugins. That’s it. That’s everything you need to know. kthxbye

I’m just kidding he he, funny me.

Let’s get going with explaining what this applications is supposed to do and how it is supposed to do it.
We’ll start with the MEAN stack’s API magic.

 

The client API & REST API are written and served using Node.js, MongoDB and Express (MEAN stack). Why? Well, because Node.js is awesome, of course.

The application is designed to hold huge amounts of client history so that’s why NoSQL was the way to go. And since every developer knows a little bit of JavaScript, it’s an app that everyone can edit.

The workflow is kinda straightforward: every time the shopper visits the website, JavaScript saves his steps (ex: “visited the product with ID”, “visited the category with ID”, “visited the checkout page but didn’t finish”, “visited the cart page” etc.). In the same time the shop campaigns are loaded in the client API, so if the site manager wants the shopper to be rewarded with a coupon code after he visits 3 products from the same category, the API will act accordingly.

We don’t have predefined coupons, the JavaScript performs a GET call to the REST API which generates a coupon by calling the specific platform plugin and then it returns it to the shopper’s screen. Everything is done using an API key so these calls can’t be forged.

The history is also saved for later use, so our application learns the preferences of the customer and can give him an experience based on what he likes.

 

The admin dashboard is the control room of the application. The site owner can customize the way he wants the API to behave like with his customers. You can create campaigns, check for stats, history and different platform integrations.

We’ve built this using Laravel along with the MEAN stack since it’s such an obvious choice. Laravel is such a lightweight and straightforward PHP framework that I don’t feel the need to justify this choice. This dashboard communicates directly with the shopper via the MongoDB database and the Node.js API.

 

The different ecommerce plugins are just a plug-n-play version of the JavaScript API. We made it in such a way that the webshop owner doesn’t need to know anything about programming to have it running on their website in just a couple of minutes regardless of their eCommerce platform of choice.

Click here to read Part 2.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>