Inspiration and Problem
Vendorly aims to help manufacturers comply and build relationships with retailers.
Imagine that you are a manufacturer that generates millions of dollars from selling your product in major retailer stores and then all of a sudden you lose your right to sell at a major retailer such a Walmart. Manufacturers have struggled to maintain retailer compliance and as a result, have lost their privileges to sell at a manufacturer or have had paid hefty fines to continue to sell their products. That’s millions of dollars lost.
Jennifer has personally worked with manufacturers who struggle to maintain compliance and identify compliance issues. For example, retailer manufacturer was told by Target that they were not compliant and then retroactively reviewed all of their shipments to understand why they did not meet Target’s requirements x amount of times.
According to Supply Chain Digest, retail compliance was ranked the number #1 obstacle for manufacturers to maintain relationships with retailers. ¾ of manufacturers feel that retail compliance requirements will become more strict and need a way to organize their contracts. For example, Walmart recently increased the on-time delivery percentage of shipments in order for a manufacturer to still sell their products in Walmart stores from 90% to 95%.
How Did We Build the Application, How It Works
When it comes to best use case it comes to scalability, we used two different backend software: node.js and php. We ran from two different servers (ubuntu 16.04 and AWS) to show if our API needs to scale and work with other API. The backends can use each other to endpoint communicate with other API as shown in the collaboration betweeen our two backend software.
The workflow consists several requests to the ShipEngineAPI concerning data about the end user which is the manufacturer to ultimately get a shipping label from the API. When the user fills out the shipping form, the data gets sent to the AWS PHP server which takes the metadata and makes a requests for all available rates that respects the wishes of requirements of the retailer.
The ShipEngine API has a JSON schema at that part that allows for options considering dimensions, and according to unitsour API gives options for the most common expanding our req body to the rates handler for the ShipEngine API
The results for each quote is projected and sent back to the front-end the manufacturer end user makes a choice and the backend gets the rate_id for that quote choice.
A use of the ShipEngine API is that if we have the rate_id, we do not have to send a massive object request we can attach it as a route param to the route that allows us to get a label
PHP receives the rate id from the front end and sends that now to node.js to make a request to the ShipEngine API and parses the result in order to get the shipping label link. PHP needs node.js to do this because the results are in JSON and its hard to parse it in PHP.
Node.js sends the shipping label link as a string which PHP can now use to generate a page with the link embedded into the page with an embed tag available to download.
We started creating a mockup for a dashboard showing the compliance percentages for each retailer for the given manufacturer and overview of shipments.