A layered object store design in Elixir (Part V) - The Web layer
This is the final layer for our object store responsible for exposing it over the web. It exposes endpoints: /upload for uploading a file and /file/:file_id for getting a file by ID.
We used simple and elegant plug abstraction for providing an HTTP interface with routing, avoiding use of any web frameworks: though Phoenix is quite modular, it may not be needed for thin Web layers (as they should be).
https://nitingupta.dev/post/a-layered-object-store-design-in-elixir-part5/
Read next Elixir Wizards S3E9 - Brooklyn Zelenka on Functional Programming