diff --git a/README.md b/README.md index bef4b1a99098c2df5d46600873fef6673e0400bc..ba964056c2959055f402e972e9899b01ffd71dec 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/