Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Storage abstraction layer to allow configurability through environment variables. Storage interface must be implemented with read and write methods. Implementations in spring should be configured through @ConditionalOnProperty 
  • Following Object storage should be supported:
    • AWS S3 (for cloud installations)
    • Minio (for on-premise environments)
  • For database storage files should be encrypted with AES-256 algorithm, and object storage should support native encryption (minio, s3)
  • Thumbnails generation must be done during the upload process and persisted in the same storage as the pictures themselves
  • If the profile picture is provided as an external link, then the file should be uploaded and treated the same way as a regular file upload

Sequence diagram of profile picture upload:

Image RemovedImage Added

Sequence diagram for fetching profile picture:

Image Added

Open Questions