Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

US: Synchronize ARF with Wallet Implementation by introducing CORE and GUI components. #149

Open
Hugloss opened this issue Mar 13, 2024 · 1 comment
Labels
user story User story description

Comments

@Hugloss
Copy link

Hugloss commented Mar 13, 2024

Description

ARF needs to accurately describe the EUDI Wallet Solution as it is implemented, including both the CORE and GUI components. Currently, there is a discrepancy between ARF 1.3 and the actual implementation of the EUDI Wallet Solution.
It's crucial to explicitly state that the EUDI Wallet Solution consists of both CORE and GUI components, which is not currently mentioned in the ARF.

I believe that the EUDI Wallet Solution has a CORE part at minimum, with the potential addition of a GUI part. This architecture is also described in the documentation for the actual implementation
https://github.com/eu-digital-identity-wallet/eudi-lib-android-wallet-core?tab=readme-ov-file#overview

This library acts as a coordinator by orchestrating the various components that are required to implement the EUDI Wallet functionality. On top of that, it provides a simplified API that can be used by the application to implement the EUDI Wallet functionality.

Describing the EUDI Wallet Solution in this manner simplifies its architecture and clarifies how it should be implemented on devices other than mobiles.

To meet the needs for a server environment, either as an on-premise solution or in the cloud, the architecture of the EUDI Wallet Solution must be divided into distinct components. In server implementations, there is a clear separation between the various components, CORE and GUI.

The CORE component contains all base functionality, it is the essential component that manages the operations of the wallet solution. The CORE component is mandatory in all EUDI Wallet Solutions.

The GUI is an optional component that provides additional functionality. It offers a user-friendly interface and seamlessly integrates with the CORE system. Within the GUI, end users can manage attestations, including PIDs and (Q)EAAs. It also has the ability to display attestations and presentations, track their status, and even allow users to revoke an attestation. Importantly, the GUI relies on the CORE part for its fundamental functionality.

CORE
https://github.com/eu-digital-identity-wallet/eudi-lib-android-wallet-core

GUI
https://github.com/eu-digital-identity-wallet/eudi-app-android-wallet-ui

User Story

User: As a wallet solution architecture, I want to accurately describe the EUDI Wallet Solution as it is implemented, including both the CORE and GUI components
Goal: To ensure that the EUDI Wallet Solution support server environments
Reason: Currently, there is a discrepancy between ARF 1.3 and the real implementation of the EUDI Wallet Solution. Explicitly stating that the solution consists of both CORE and GUI parts will provide clarity and simplify its architecture for developers and users alike.

Acceptance Criteria

The EUDI Wallet Solution support server environments, by defining a clear separation between the CORE and GUI components

@Hugloss Hugloss added the user story User story description label Mar 13, 2024
@pinamiranda
Copy link
Contributor

Thank you for your submission.

The ARF does not take a stance on the architecture of implementations of Wallet solutions, and so the proposal is good but out of scope for the ARF document. Component description in the Reference architecture will be improved in version 1.4.0 (ARF v1.4)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
user story User story description
Projects
None yet
Development

No branches or pull requests

2 participants