photo-ops

An automation pipeline following a microservice architecture to crop, caption, hashtagify and post photos to social media.

Stars
0

photo-ops

A pipeline passing an image between different micro services to crop, caption, watermark, hashtagify and finally post it to social media.

NOTE: Currently all models used are cpu based.

Services

Process

  1. Receive a new image
  2. Store original image in local storage and save its path
  3. Retrieve the bounding box of the motif of the image and store it
  4. Crop (and compress) the image (resolution is based on a setting) so that the bounding box is centered
    1. Provide the user the option to re-crop the image, especially if the bounding box is too large for the resolution
  5. Generate a caption for the image
    1. Give the user the option to edit the caption
  6. Watermark the image (location is again based on a setting)
  7. Generate hashtags based on the caption

FRs

  • User can upload an image
  • User can crop the image
  • User gets a recommended crop based on the subject of the image (if the bounding box is not too large)
  • User can edit the caption
  • User gets a recommended caption based on the cropped image
  • User can edit the hashtags
  • User gets a recommended hashtags based on the caption
  • User can specify the watermark
  • User can freely move the watermark
  • User can specify the resolution of the image

Technical Requirements

  • The application should be able to run on a local machine
  • The application should be able to run on a server
  • The application should be able to run on a cloud provider
  • The application should be able to run on a container
  • The application should be able to run on a container orchestrator
  • All but the service accessed by the FE should only communicate via gRPC

Running the application

  • docker
  • docker-compose

Development

  • docker
  • docker-compose
  • Go
  • bash
Package Rankings
Top 6.79% on Proxy.golang.org