Architecture
High level architecture
CoreConnect sets up a ready made backend architecture for your composable landscape. This backend exposes a set of standardised GraphQL queries to any front-end application.
Backend
The backend sets up a .NET Core
application and is split into two projects: Gateway
and Functions
:
Gateway
project
The gateway is responsible for handling synchronous requests. For example, Commerce Gateway
is responsible for returning products and filters for displaying in a PLP, or PDP. But also when adding or removing items from cart, Gateway
will interact directly with the commerce engine to perform these actions.
Functions
project
The Functions
project is responsible for handling asynchronous requests. The functions project can be setup with Azure Service Bus or RabbitMQ. Functions
integrates external systems and provides the event-driven nature of the platform. Think of it like syncing systems in the background, sending transactional emails via an ESP when orders have been paid or creating an account.
Use cases where Functions
will be would responsible for:
- Retrieve products and their details from a PIM and store these in the commerce engine
- Retrieve prices and stock levels for products from the ERP and update the products in the commerce engine
- Send a transactional email via an ESP when the customer creates an account
- Send a transactional email via an ESP when an order has been paid
Frontend
The front-end is built on NextJS
and has a couple of key features already set up. Things like authentication, cookies and a full-fledged component library. A full overview of the structure of the boilerplate can be found under directory structure.