Skip to content
Snippets Groups Projects
README.md 2.03 KiB
Newer Older
Martin Vogel's avatar
Martin Vogel committed
## FIT-Co Java SDK

### Project Setup Info
- Java 17 (LTS)
- Maven
- Junit 5
Martin Vogel's avatar
Martin Vogel committed
### Build

To build the maven artifact, run: `mvn clean install`
Martin Vogel's avatar
Martin Vogel committed
####
Martin Vogel's avatar
Martin Vogel committed
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
Martin Vogel's avatar
Martin Vogel committed
#### API Module

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{
    + decryptString
    + decryptBytes 
   }

  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

DecryptionService ..> CryptoService : IsA
EncryptionService ..> CryptoService : IsA
Martin Vogel's avatar
Martin Vogel committed

#### Client Module
Martin Vogel's avatar
Martin Vogel committed
API implementations and Tests

### Documentation
Martin Vogel's avatar
Martin Vogel committed
https://docs.fitko.de/fit-connect/docs/

### Self Service Portal (DEV)
Martin Vogel's avatar
Martin Vogel committed
https://portal.auth-testing.fit-connect.fitko.dev/