Real-Time Orders Dashboard for Oh-Jalá!

Deborah Trapunsky embarked on her Oh-jalá journey in her family's kitchen just a few years ago. It all began when one of her friends asked her to sell her renowned Challah bread, traditionally served during significant Jewish events like Shabbat. Starting from these modest origins, she gradually started selling it to more of her friends, and today, her business has evolved into a local establishment with a solid and loyal customer base, along with a substantial presence across various social media platforms.

Analysis

In the last few months, the business has encountered an inflow of new customers, making it tedious to manage vast volumes of orders. Deborah contacted Atlas at an early stage to analyze the current process and propose possible optimizations with technology tools.

After an initial diagnostic, we identified an opportunity to improve the ordering process. When a customer contacted the bakery via cellphone or WhatsApp, the staff would enter the order into the existing POS system. However, there was no efficient means to monitor the order status regarding payment, preparation, or final delivery. Also, there was duplicity between walk-in orders and online orders since there was no track of real-time product inventory. This led to confusion among both walk-in customers and staff, as they were unsure whether an online customer reserved a particular product or if it was available for sale.

Solution

Atlas proposed the development of a real-time dashboard for efficient order tracking. This dashboard would seamlessly integrate with the existing POS system through APIs and webhooks, allowing for real-time updates and enhanced order management.

After thoroughly assessing the project's viability and eliciting all the requirements from the stakeholders, we started the development process. Our solution consisted of a NextJS application (deployed on Vercel, frontend-backend all-in-one solution), with MongoDB as our database, Prisma as our ORM, tailwind as our CSS framework and Pusher for updating and syncing the dashboard in real-time with all the staff members.

Oh-Jalá Dashbord

Challenges

One of the challenging parts of the project was implementing real-time updates. Since we want this project to be low-budget, low complexity, and with a fast development time, we found a third-party company that offers a service for this type of communication: Pusher! By defining specific channels and listeners, we successfully synchronized the dashboard to reflect new order updates as they were received.

Furthermore, one imperative requirement was that, in case of any edits to the order, the staff should be able to see the changes in that order and keep track of the edited products. For example, if the order consists of one lemonade and one bread, and we edit it by removing the bread, we should visualize both items with the bred cross out of the screen. The logic was not trivial since the POS didn't hold the records associated per transaction in the same order (they create a new document per edit and invalidate the old one). We had to develop a service that persisted all sales modifications in our database each time we detected a sale from the webhooks.

tl;dr

Oh-jalá Bakery's journey has evolved into a thriving local establishment. To address the challenges posed by a surge in new customers, Atlas introduced a real-time order tracking dashboard seamlessly integrated with the existing POS system. This dynamic solution ensures efficient order management and the reduction of lost orders and conflicts. Overcoming the challenge of implementing real-time updates with tools like Pusher, NextJs and MongoDB, the project maintained its low budget and fast development.