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.
- Receive a new image
- Store original image in local storage and save its path
- Retrieve the bounding box of the motif of the image and store it
- Crop (and compress) the image (resolution is based on a setting) so that the bounding box is centered
- Provide the user the option to re-crop the image, especially if the bounding box is too large for the resolution
- Generate a caption for the image
- Give the user the option to edit the caption
- Watermark the image (location is again based on a setting)
- Generate hashtags based on the caption
- 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
- 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
- docker
- docker-compose
- docker
- docker-compose
- Go
- bash