ElixirMix Podcast 086: Teaching Your Team Elixir with Mike Binns Why am I still excited about Elixir

A layered object store design in Elixir (Part III): ImageStore and VideoStore

In part-3 of our blog series on developing an object store, we will work on file-format specific modules: ImageStore and VideoStore.

The ImageStore module is responsible for normalizing input images, generating thumbnail, and finally use the FileStore layer (which we developed in part-1) to store both of them to underlying filesystem.

The VideoStore module stores input videos as-is, together with its thumbnail. It uses the ImageStore module for thumbnail generation and FileStore module for actual storage.

These example modules show how they leverage a lower layer (FileStore) for actual storage which each focusing on file-format specific details only.

https://nitingupta.dev/post/a-layered-object-store-design-in-elixir-part3/