GrowthPath Application server

GrowthPath Application Server

The GrowthPath Application Server is a dedicated server with software developed to allow GrowthPath's advanced integrations.

The Application Server is a stack of software which makes it fast and easy for GrowthPath to solve complicated integration problems.

The elements of the stack are

  • A robust, battle-tested cache Dear's data, including the ability to bring together all your deployments of Dear in multiple currencies
  • A library of Dear automation code for ordering, shipping and production steps, which is also battle-tested. With this code, we can develop highly advanced automations and integrations
  • A library of connectors to a growing range of cloud software: Zoho Analytics, Zoho CRM, Capsule, Shopify, Starshipit, Xero
  • We have library for custom 3PL integrations
  • A front-end server for cloud-interfaces to your customers, using Django

Based on surveying the market and listening to the customers we acquire,  this technology stack is well ahead of any competitor. It is the result of constant work since 2012 and a growing number of deployments. We tend to get clients with scale and requirements which can't be met elsewhere, which is further testing and developing our technology.

What does that mean for clients?

Most of GrowthPath's integrations involve Dear Systems (a cloud ERP). An ERP is the transactional heart of your business system. Our integrations move data from Dear to other platform (such as Zoho Analytics, Power BI, Zoho CRM, Xero, Starshipit, our 3PL module), and they perform automations and updates in Dear.

Our integrations also often do automation in Dear, such as order routing, create and processing assembly orders based on a configured BOM, shipping orders after the 3PL confirms dispatch, or rewriting payment references for better B2C payment matching to bank feeds.

Some of our clients are very high volume users. Traditionally, an integration calls the Dear API each time it needs information. This does not scale very well, since the Dear API has limits. Also, several integrations may be retrieving the same information again and again, which is a waste (and it is slow). Instead, the GrowthPath Application Server has a cache which has an up-to-date copy of Dear's data. Our integrations use the cache, which is much faster. As well, locally cached data can be processed with much more sophisticated queries. Also, some larger clients use multiple instances of Dear. The cache means we can bring this data together.

Many simple integrations don't use caching because it is hard to get right. Because GrowthPath uses the same cache for many different integrations and automations, we have been able to invest and develop our cache to the point where it is a very significant technical advantage. GrowthPath's cache is widely deployed and is very robust after years of production use. It has developed many advanced features, including the ability to share its workload over multiple Dear API connections for very high volume sites that are not yet ready to move to one of Dear's dedicated server options. It contains many tweaks and optimisations .

The cache is stored in a high-performance database that offers traditional SQL and more modern JSON data processing. The Dear cache is a collection of JSON records that are straight from Dear.

Our code library has a large number of building-blocks based on the cache (for reading data) and in combining the low-level of the Dear API into business workflows. For example, we have code which will take an authorised Dear Simple Sale, and will split the order into multiple fulfilments across different locations based on logic that determines the fastest way to get all lines delivered bearing in mind costs, and then feed these fulfilments to a 3PL. When the 3PL confirms manifesting, we complete the shipment in Dear and post the tracking information back to the online portal.  This complex code path is handled by building blocks we already have. Likewise, we have built a custom configurator that will read order line comments for product options, produce a configured custom BOM, and pick and complete the order assembly with a batch code based on the customer's order.

Our Analytics connector uses the cache to peform complex combinations of Dear data to enable powerful reports. It also has integrity checking to make sure the Analytics data is accurate: web-based APIs are not as reliable as traditional high-speed integrations running on the same server.

How is it deployed?

Each client gets their own server. The technology is deployed using containers, and we have a zero-downtime deployment method, so new versions are deployed seamlessly. Your key applications and services are monitored with a third-party server monitor to alert to downtime and failure. The stack is scalable, although it is not actually very CPU intensive.

The code-base is common to all clients, although sensitive information is individual to each deployment.

Most clients use a GrowthPath-deployed server, for which we use Digital Ocean. You can however provide your own server from AWS, Digital Ocean, Azure, Google. The server needs to be an Ubuntu LTS instance.

The stack uses 100% open source technologies. GrowthPath is a financial and code contributor to the main open source components we use in our Application Server, and so far two of our connector libraries are open-sourced.