karrio has three main components:
The first component is the karrio SDK which unifies and standardize the communication to shipping carriers to one interface. It is designed to be extensible to allow integration of additional carrier support.
The second component is the karrio server which is the backend server that exposes a Shipping REST API and a GraphQL API. The server is written in Python with Django. It maintains its state in a PostgresSQL database.
The third component is the karrio dashboard App which implements the user interface that operation members can use for manual fulfilment processes. the app is a Nextjs application that runs in the browser and talks to the karrio server using the REST and Graph APIs.