diff --git a/Deliverables/sprint-12/design-documentation.md b/Deliverables/sprint-12/design-documentation.md new file mode 100644 index 0000000..75b6fc7 --- /dev/null +++ b/Deliverables/sprint-12/design-documentation.md @@ -0,0 +1,66 @@ +## Introduction +With the rise in data exchange among sectors such as finance, legal, and government, there is a growing need for seamless data interoperability while ensuring compliance with data usage policies and local regulations. Dataspace aims to address these challenges by creating a secure and efficient environment for data sharing. + +This project investigates the feasibility of utilizing dataspaces with a focus on data sovereignty. It involves evaluating the maturity of dataspaces, identifying crucial components, and assessing the ease of deployment. The ultimate objective is to facilitate secure and compliant data sharing among diverse entities. + +## Component Diagramm +![component_diagramm.png](component_diagramm.png) + +## Components +### 1. Login Interface + +The Login Interface serves as the initial access point to the system, facilitating authentication for users. The primary purpose of the Login Interface is to authenticate users and grant access to the system based on their roles: bank, tax advisor, or company. Each of the roles is provided with a unique url, through which they can only login in for their roles and not the other ones. + +### 2. Data Connectors +Data connectors are the core components that enable secure and effective communication and data exchange between different entities. They facilitate the connection of multiple data endpoints, increasing the pool of available data and accelerating the data economy. + +Each data connector performs the following functions: +- **Connectivity Validation**: Ensures secure connection establishment with data sources or destinations. +- **Data Exchange**: Manages secure data transfer, including encryption and decryption processes. +- **Compliance Monitoring**: Ensures adherence to data usage policies and local regulations during data exchange. +- **Audit Logging**: Maintains transaction logs for transparency and accountability. + +### 3. Dashboard Interface +The Dashboard Interface serves as the central hub for users post-authentication, offering a comprehensive overview of available functionalities and navigation options within the system. + +#### Dashboard Components + +a. **Home Interface**: The default landing page accessible from the Dashboard Interface, providing users with an overview of their connector status and relevant information. The following elements are visible at the Home Interface: +- *button* **Refresh**: used to refresh the information about the statuses of the connector and the database +- *status* **Connector Status**: shows whether the connector for the selected role is running or not (is either shown in green or red) +- *status* **Database Status**: shows whether the database for the selected role is running or not (is either shown in green or red) +- *button* **Start/Pause Connector**: enables to either start or pause the connector for the logged in user + +b. **Upload Interface**: A dedicated page enabling users to upload files to the database, that will later be visible to the other connectors. +- *button* **Refresh**: used to refresh the information about the currently uploaded files +- *button* **Upload File**: allows the user to upload a chosen file from their computer. Requires to choose a title and policy for the chosen file +- *button* **Create Policy**: allows the user to create a new policy + +c. **Download Interface**: A dedicated page enabling the users to download files that where uploaded by the other users. +- *Dropbox* **Select connector**: allows the users to choose the connector from whom they want to download the file. +- *Table*: a table containing all the accessible files from the chosen connector. + - *button* **Negotiate**: a button next to the files visible in the table that allows the negotiation of the contract to download the chose file + +### 4. Backend Services +The backend services handle the core logic of the dataspace application, managing connections, data exchanges, and compliance monitoring. + +#### Components +1. **Connection Manager**: + - **Functionality**: Manages the establishment, maintenance, and termination of connections between data connectors. + - **Security**: Ensures secure connections using encryption protocols. + +2. **Data Exchange Manager**: + - **Functionality**: Oversees the secure transfer of data between entities. + - **Compliance**: Ensures data exchanges adhere to predefined rules and regulations. + +3. **Compliance Monitor**: + - **Functionality**: Monitors all data exchanges to ensure compliance with data usage policies and local regulations. + - **Reporting**: Generates reports on compliance status and any detected violations. + +4. **Audit Logger**: + - **Functionality**: Maintains detailed logs of all transactions and data exchanges. + - **Transparency**: Provides an audit trail for transparency and accountability. + + +## Conclusion +The IDS aim to explore the practical implementation of dataspace technology in ensuring secure and compliant data exchange across different sectors. The project focuses on demonstrating the viability of dataspace as a solution for modern data interoperability challenges, with a strong emphasis on data sovereignty, transparency, and fairness. Through this documentation, the design and components of the Dataspace application are detailed to provide a clear understanding of its structure and functionalities. \ No newline at end of file diff --git a/Deliverables/sprint-12/user-documentation.md b/Deliverables/sprint-12/user-documentation.md new file mode 100644 index 0000000..e524f7e --- /dev/null +++ b/Deliverables/sprint-12/user-documentation.md @@ -0,0 +1,68 @@ +# Project Vision +With the increase of data exchange between organizations and other independent instances such as finance, legal, healthcare, government, etc the need of ease of data interoperability while still adhering to data usage, policies, and compliance to local legalizations is becoming significant. Dataspace is the envisioned solutions to tackle these challenges. + +# Project Mission +Explore the feasibility of dataspace usage in regard to data sovereignty. This includes the testing the maturity of dataspace, which components are important and ease of deployment. + +# Usage +To execute the final program, ensure that all the requirements are installed (refer to the build-documenation.pdf) and that the Docker Daemon is running. + +Next you can run `docker compose up` (or `docker compose up --build` if you are running it for the first time) in the *src* folder, if you want to run all the elements. You can also run only the chosen elements. There are three roles to choose from: +- company (written as *company*) +- tax advisor (written as *tax_advisor*) +- bank (written as *bank*) + +Each of the role has three different docker containers that should be running in order to ensure full functionality. In order to run each of the elements separately, the following command should be run in the *src* folder `docker compose up `. There are three container names that should be running: +- +- -frontend +- -database + +After ensuring that all the steps have been executed successfully, the functionality can be accessed either locally or via the cloud (*see the section below*). + +## *Local* Usage +In order to access the functionality locally, enter the one of the following addresses into the browser: +- `localhost:3001` for company +- `localhost:3002` for tax advisor +- `localhost:3003` for bank + +In each case user will be automatically redirected to the `localhost:3000` and from there the login page for the respective role can be accessed. + +## *Cloud* Usage +In order to acces the functionality via cloud, enter the following addresses into the browser: +- `https://company.amos.cloudness.dev/` for company +- `https://tax_advisor.amos.cloudness.dev/` for tax advisor +- `https://bank.amos.cloudness.dev/` for bank + +In each case the user will be automatically redirected to the login page of the respective role. + +## Login Page +The login page redirects the user to the next page where they can enter the username and the password required to log in. +![login_page1.png](user_documentation_images%2Flogin_page1.png)![login_page2.png](user_documentation_images%2Flogin_page2.png) + +## Home +In the **Home** page the user can see whether the connectors for the backend and database are running. There is also a button to refresh the statuses. +![home_page.png](user_documentation_images%2Fhome_page.png) + + +## Upload +The **Upload** page allows the user to upload new files into their personal database. +![upload_page1.png](user_documentation_images%2Fupload_page1.png) + + +They can do so by clicking the button *Upload file* in the upper right corner. +![upload_page2.png](user_documentation_images%2Fupload_page2.png) + + +## Download +The **Download** page allows the user the possibility to download the files from other connectors. +![download_page1.png](user_documentation_images%2Fdownload_page1.png) + + +In order to do so, the user has to choose the connector from whom they want to download the file and next, choose the desired file. +![download_page2.png](user_documentation_images%2Fdownload_page2.png) + +After the negotiation takes place, the user receives a new tab called *Negotiated Contracts* where they can download the file for which the negotiation has been completed. +![download_page3.png](user_documentation_images%2Fdownload_page3.png)![download_page4.png](user_documentation_images%2Fdownload_page4.png) + +*** + diff --git a/Deliverables/sprint-12/user-documentation.pdf b/Deliverables/sprint-12/user-documentation.pdf index dd1f271..64893a2 100644 Binary files a/Deliverables/sprint-12/user-documentation.pdf and b/Deliverables/sprint-12/user-documentation.pdf differ