FeedMe's Custom Reporting Enhancement with Cube
- 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.
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.
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.