Integration Developer Guide for Dummies

Sheetal Jain
3 min readOct 28, 2021

How I started my First Project of Internship?

After completing my training at Hotwax Systems the first project assigned to me was of third-party shipping carrier API integration in the Moqui framework. But Moqui is not a framework that you can learn in a week. You have to go through many components that have already been developed to understand how it works.

Like every beginner, I also thought that now I will do a lot of coding. But the industry doesn’t work in this way, we have to follow iterative, agile and evolutionary development. You will not be allowed to start coding from your first day if the company follows an agile methodology for software development. Your first step should be inception which is the initial short step to establish a common vision and basic scope for the project.

I still think that one of the finest tests of programming ability is to hand the programmer about 30 pages of code and see how quickly he can read through and understand it. — Bill Gates

How I started exploring Moqui for the project?

It was overwhelming for me initially to see these thousands of lines of code. Many components have already been developed like Shippo, PopCommerce, SimpleScreens etc. Developers take references from these components and customize them according to their needs.

My project is based on shipping integration and for that, it is advised to refer the existing shipping component to understand the tags, attributes, services, entities etc. without that it is difficult to know about the plethora of elements and tags.

If you are working on the integration of UPS, FEDX, USPS you are supposed to read some mandatory services like OrderShippingRate, ShippingLabels, ShipmentPackageInfo etc. As the name suggests if we are working on the shipment of a package we should have shipping rates, labels, and package info and through these services, one can easily understand how the data is getting stored in the entities?

While exploring these services I got to know about various entities that are created in some other component but are used in the Shippo. With this, you will understand which data is required. In this way, when you start to code you will know which data you need to take from a user for the shipping integration. While exploring these services I read about various entities like ShippingGatewayOption, OrderHeader, OrderPart etc. and these entities usually have thirty to forty fields. You have to understand the relationship between fields of different entities.

Once you read some basic entities and services, you need to understand them through UI. I had cloned the PopCommerce component to understand how the order is placed and shipped?. I tried hands-on of placing the order and have gone through the code of screens to understand what is happening on the backend when I clicked any button. This has helped me a lot to connect the backend with UI.

The next step was about reading UPS APIs of rates, labels and address. I have used Postman to make the API calls and hit the URLs to understand its working.

This whole process of the first iteration of research will take around 10–15 days. Initially, you can think I was not supposed to do reading a lot of documentation or code. But if you want to be a good software developer then it involves a lot of reading. You should be able to understand the code that has already been written by someone else. It may sound boring but actually, it’s not while reading code you will learn many things that could not be possible by just reading documentation or a quick tutorial.

How you start your Project?

“Indeed, the ratio of time spent reading versus writing is well over 10 to 1. We are constantly reading old code as part of the effort to write new code. …[Therefore,] making it easy to read makes it easier to write.”
Robert C. Martin

--

--