From 30be8e9ab181e99ac38ce8c3e69a01ed834601c4 Mon Sep 17 00:00:00 2001 From: Martin Vogel <martin.vogel@sinc.de> Date: Thu, 9 Jun 2022 11:32:14 +0200 Subject: [PATCH] #414 Add interface/class structure --- README.md | 80 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 79 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index bef4b1a99..ba964056c 100644 --- a/README.md +++ b/README.md @@ -1,26 +1,104 @@ ## FIT-Co Java SDK ### Project Setup Info + - Java 17 (LTS) - Maven - Junit 5 + ### Build To build the maven artifact, run: `mvn clean install` + #### + To run all tests, run: `mvn test` ### Modules + The SDk is set up as a maven multi module to separate the (internal) API properly from implementation details + #### API Module -The api module consists of all domain model classes and (api-) public interfaces needed to build an sdk-client + +The api module consists of all domain model classes and (api-) public interfaces needed to build an sdk-client + +### API Architecture + +## Structure + +```mermaid +classDiagram + + + class DecryptionService{ + + encryptString + + encryptBytes + } + + class EncryptionService{ + + encryptString + + encryptBytes + } + + class CertificateValidator{ + + validatePublicKey + } + + class MetadataValidator{ + + validateMetadataSchema + + validateMetadataHashValues + } + + class MetadataService{ + + createMetadata + } + + class OAuthService{ + + authenticate + } + + class SubmissionSender{ + OAuthService + EncryptionService + CertificateValidator + MetadataService + } + + class SubmissionSubscriber{ + OAuthService + DecryptionService + MetadataValidator + } + + class FitCoClient{ + ClientFactory + } + + FitCoClient ..> ClientFactory : Uses + ClientFactory ..> SubmissionSender : Creates + ClientFactory ..> SubmissionSubscriber : Creates + + SubmissionSender ..> CertificateValidator : Implements + SubmissionSender ..> EncryptionService : Implements + SubmissionSender ..> MetadataService : Implements + SubmissionSender ..> OAuthService : Implements + + + SubmissionSubscriber ..> OAuthService : Implements + SubmissionSubscriber ..> DecryptionService : Implements + SubmissionSubscriber ..> MetadataValidator : Implements + +``` #### Client Module + API implementations and Tests ### Documentation + https://docs.fitko.de/fit-connect/docs/ ### Self Service Portal (DEV) + https://portal.auth-testing.fit-connect.fitko.dev/ -- GitLab