Skip to content

Client Layer

Overview

The Client Layer handles all user interactions with the NFDI4Immuno repository, providing interfaces for data submission, search, and retrieval.

The client layer contains two separate components: the command line interface (CLI) and the front-end/web interface.

Client layer architecture

The primary target for development is the CLI which connects directly to the API Gateway,

Front-end/web interface Components

The Front-end/web interface is complex with many different moving parts.

Front-end modules

The front-end is organized into several key modules:

  1. Authentication: Handles user login and session management
  2. Submission: Provides tools for data submission
  3. Search: Enables data discovery and filtering
  4. Retrieval: Manages data retrieval and download
  5. Data Management: Handles access rights and data release
  6. User Management: Handles user profiles and permissions

Primary Interactions

Front-end interactions

The front-end interacts with:

  • API Gateway: Primary communication channel with backend services
  • Authentication Service: User identity and access and quota management
  • External Resources: Third-party services and reference data
  • Project metadata: Store for user defined reusable submission information
  • Temporary submission storage: Storage for data for interrupted submissions. This store is not related to the temporary store in the submission validation

The key features of the front-end are listed in the table below.

Feature Area Key Capabilities Primary Interaction Partners
User Authentication Federated login support, Role-Based Access Control (RBAC), and session management. Authentication Service, User Management module.
Data Submission Metadata validation, file upload management, and real-time submission status tracking. API Gateway, Temporary Submission Storage.
Search & Discovery Advanced query builder, complex filter application, and result visualization. API Gateway, Search Service.
Data Access Access request workflow management, secure data download, and usage tracking. API Gateway, Data Management module.