A story published on Medium about creating a fully functional, practical, Symfony 6 based application.
The requirements for the app:
- be written in PHP8.1,
- have few dependencies,
- be open-sourced on GitHub,
- have a GitHub actions pipeline to ensure quality,
- be Dockerized for easy and quick developing,
- cache generated thumbs locally to save bandwidth,
- support multiple types on the output (JPEG + WEBP)
- allow to clear the thumbnail cache en masse,
- correctly handle concurrent access to the same image,
- protect against unauthorized use,
- be flexible enough to change from S3 to any other source if necessary.
The code is hosted on GitHub and is available for free under MIT license.