19 Nov 2022
Optimizing Food Supply Chain Management – From Farm to Fork
   
Executive Summary
Our client provides customizable supply chain solutions for grocers. These include several features such as distributor onboarding, pickup locations, syncing products and customers, maps search, and order placements for both B2B and B2C customers. They wanted to optimize their supply chain from farm to fork.
About Client
Our client brings diverse food value chain knowledge combined with experience from outside the food industry implementing customer-centric internet solutions for F500 companies. They provide easy solutions for the supply chain of grocery with several features such as distributor onboarding, pickup locations, syncing products, customers, maps search, order placement for both B2B and B2C businesses.
Problem Statement
Our client wanted to optimize the food supply chain by helping restaurants source agricultural products directly from the farmers. They wanted a seamless experience for their customers, by ensuring freshness and reducing costs. However, they were facing issues with multiple aspects of their operations, listed below:
Syncing orders, customers, products, and various other data from the distributors’ server
Onboarding solution for distributors
Error reporting and resolutions
Promotional material
User activity and tracking of promotion downloads
Elasticsearch upgrade and periodic backup of Elasticsearch
Faster image loading on the website using CDN
SMPS for storing API keys, database credentials, and several sensitive data
Location searching capabilities
Elasticsearch autocomplete feature
Implementing MFA for AWS local testing
Upgraded frontend AngularJS code to latest Angular version
Promo Code Module
HashedIn’s Solution
We developed a web application, with features like tracking the origin of the product, automatic sync of available items, and automated demand forecasting. Restaurants can use it to view and order agricultural products from their nearest source and are also able to track the product to its origin. With automated sync, available items were updated at each source. Moreover, with a smart population of base products of food items, restaurants were able to automate demand planning and forecasting. HashedIn showcased its technical expertise by solving the challenges the client was facing, through various methods mentioned below.
Scheduled jobs to sync various orders, products, locations, etc., to and from the distributor with built-in fault tolerance and issue reporting through email and SMS while leveraging multi-threading for optimal utilization of computing resources.
Upgraded the web application to Angular 8 for better browser compatibility, performance, and maintainability.
Templated the promotional materials like flyers and stickers using Thymeleaf for easy customization
Increased reliability and performance of Elasticsearch used for the product suggestion in the application by regularly scheduled backups and adequate preprocessing.
Introduced AWS CloudFront & Lambda@Edge for image delivery thereby reducing the loading time of the website.
Increased the security aspect of the application by moving all the sensitive data like system parameters, keys, and URLs to AWS SMPS (System Manage Parameter Store) which were earlier being stored in a properties file as plain text.
To increase security towards unauthorized access, multi-factor authorization was introduced.
Technology Stack
Backend – Java, Spring boot, Hibernate
Frontend – Angular
Database – MYSQL
Cloud Service Provider – AWS
Cloud Services – EC2, RDS, EBS, SNS, SMPS, Secrets Manager, CDN
Business Outcomes
  • We right-sized AWS instances based on the usage and reduced the bill by $130/month.
  • The load time of the website was reduced by 85% (from 12.6s to 1.9s0), leading to enhanced customer experience.
  • To understand user behavior better, promotions and user tracking were enabled. The promotion codes led to a higher number of customer attractions and acquisitions.
  • Moreover, the analysis of various parameters like user login count and promotional card download count was done through the promotion card downloads.
  • Product data was periodically backed-up, to minimize data loss.
  • Improved fault tolerance for the batch processes resulting in lesser maintenance.