I made a file uploader using a locally hosted S3 bucket. Cloudflare only allows 100MB uploads, I had to chunk the uploaded files into smaller chunks and then send them to my server. The server then resembles them and uploads them to the local S3 bucket. This allows me to have files of unlimited size to be uploaded. The server then gives the user a shortened URL using my previous project’s API to shrink the long url, the url leads the user to the file they can easily download or preview
The most challenging bit was chunking the files from the frontend and then streaming them back to the server. This was painful and challenging since I had not done this before.
I made this project entirely in elixir & Phoenix.
I am most proud of chunking the files in order to circumvent cloudflare limits, hard to implement but very rewarding.