Cube Dev Case Studies FeedMe's Custom Reporting Enhancement with Cube
Edit This Case Study Record
Cube Dev Logo

FeedMe's Custom Reporting Enhancement with Cube

Cube Dev
Functional Applications - Inventory Management Systems
Functional Applications - Warehouse Management Systems (WMS)
Equipment & Machinery
Retail
Sales & Marketing
Inventory Management
Retail Store Automation
System Integration

FeedMe, a Malaysia-based company providing a Point of Sale (POS) system for the food and beverage industry across South East Asia, was facing challenges with its reporting system. The company wanted to offer a robust reporting system that allowed users to generate their own custom reports. However, their previous solution, which was based on SQL queries and JavaScript to process data across MongoDB, CouchDB, and BigQuery, was becoming increasingly difficult to maintain and scale. FeedMe uses CouchDB in their client POS systems that can work either online or offline. The data from CouchDB is then fed into the BigQuery data lake for reporting. FeedMe’s backend systems are written in JavaScript, so they wanted to use JavaScript to process data from MongoDB and BigQuery. The challenge was to find a solution that could simplify their data processing and help them develop a data schema standard.

Read More

FeedMe is a FoodTech company based in Johor Bahru, Johor, Malaysia. Founded in 2019, the company provides a Point of Sale (POS) system for the food and beverage industry across South East Asia. In addition to POS equipment that you see in restaurants, FeedMe provides reporting to their customers. The reporting ranges from sales reports, marketing analytics, inventory management, and others. The company uses CouchDB in their client POS systems that can work either online or offline. The data from CouchDB is then fed into the BigQuery data lake for reporting. FeedMe’s backend systems are written in JavaScript.

Read More

FeedMe found Cube through Google searches and decided to take a phased approach to deploy Cube. In the first phase, they focused on migrating part of their data schema using Cube’s Dynamic Schema Creation, which took about two weeks. In the next phase, they spent another three weeks migrating the rest of their data schema and then implementing more advanced features such as pre-aggregations and Cube Store. The FeedMe team liked the more flexible caching mechanism in Cube since they can customize refreshKey and rollup definitions. With Cube pre-aggregations and Cube Store, FeedMe’s BigQuery cost is down by about ⅔. Also, without pre-aggregations, it could take several minutes for their customers to query several months of sales data. When the data is cached and pre-aggregated, a similar query would take less than 10 seconds. Cube is deployed via Docker along with Kubernetes, and they use Chart.js for visualizations.

Read More

The implementation of Cube has significantly improved FeedMe's reporting system. The company now has a more flexible caching mechanism, which allows them to customize refreshKey and rollup definitions. This has not only reduced their BigQuery cost but also improved the speed of data queries. The data that used to take several minutes to query can now be accessed in less than 10 seconds when cached and pre-aggregated. This has greatly enhanced the user experience for their customers. Furthermore, the FeedMe team has found the Cube community to be very collaborative, especially on Slack, as they were navigating different features such as rollupJoin, pre-aggregations, and Cube Store. They have also been able to provide feedback to the Cube Dev team, contributing to the continuous improvement of the system.

FeedMe’s BigQuery cost is down by about ⅔ with the implementation of Cube pre-aggregations and Cube Store.

Without pre-aggregations, it could take several minutes for their customers to query several months of sales data. When the data is cached and pre-aggregated, a similar query would take less than 10 seconds.

Download PDF Version
test test