Skip to main content

Introduction

Farbor is asset/file management server that allows to collect files, validate them and process upon read.

StorageUploading FarborAuthentication & authorizationPreprocessingValidatingProcessingAmazon S3ReadingFilesystem... other

Responsibilities during upload:

  1. handles authorization and authentication
  2. preprocesses file content (resize, autorotation) if needed
  3. validates against defined requirements (file size, image dimensions, aspect ratio, contains face)
  4. exposes metadata, requirements for each collection over HTTP so client can validate files before uploading or change UI based on requirements.

Responsibilities during read:

  1. handles authorization and authentication is needed (only for private files)
  2. processes file content depending on user request (resize, rotation, scale, crop)

Why

Usually files are stored at s3 or other cloud provider. This naive approach lacks of crucial components required for real life applications like:

  • validation (file size, image dimensions, aspect ratio, contains face)
  • preprocessing before saving
  • more advanced authentication control that does not require to create presigned URL for every file
  • processing for reading (resize, crop, color changes, extraction of image)