Architecture
QCG-Portal serves as a user-centric gateway that simplifies access to computing resources by hiding underlying complexities behind an intuitive web platform.
Hich-level overview
QCG-Portal architecture follows a frontend-backend paradigm: the frontend provides a user-friendly interface, while the backend focuses on the business logic required to execute computational experiments on remote computing resources.
A key design goal of QCG-Portal is flexibility: in addition to Base layer and instead of a single static UI, QCG-Portal supports Application Templates, that adjust the interface to specific use cases and allow to configure the application execution flexibly.

Technicaly, Application Templates define both, how an application runs on a cluster and how the specific UI components related to this application appear to users in the portal. Most importantly, through the template the Application Input Form can be configured to meet the needs of a specific use cases.
Further customisation options are discussed here.
Main Components
The diagram below shows the main components and their interactions in the simplified, conceptual architecture of QCG-Portal:

Let us discuss these components in more detail.
The Frontend is the user interface that people interact with via a web browser. In QCG-Portal it is further customised through Application Templates.
The part of an Application Template that defines how selected components of a user interface are presented to users of a given template. In particular, it defines how the input form should look.
The Backend is a set of server-side services that provide core functionality for efficiently executing computational tasks and includes:
- QCG Core Services - central services responsible for business logic and coordination between components;
- Data Management Services - support for data transfer operations and storage of input and output data;
- Authentication and Authorisation Services - centralized identity management: verifying users and enforcing access control across systems;
- Visualisation and Monitoring Services - services enabling monitoring of application executions and visualisation of processed data;
- Custom GUIs - additional graphical interfaces to enable advanced customisation of selected views in QCG-Portal.
A High Performance Computing (HPC) cluster is the primary computational resource type supported by QCG-Portal. It is a collection of computers designed to perform complex computations and typically consists of multiple nodes connected by a high-speed network. The execution of an application on a resource is defined by the Execution part of the Application Template.
The part of an Application Template that defines how the application will be executed on a computational resource.