Ссылка на ТЗ: https://docs.google.com/document/d/18lP6Xmy7pEm1_jSRiwBhXv-EcLpxbfWE/edit
ТЗ:
Используя Node.js (идеально Nest.js), разработать сервис, принимающий файлы по протоколу HTTP и загружающий в AWS S3. В случае, если принимаемый файл является изображением, то перед отправкой в S3 изображение должно быть преобразовано в указанные размеры.
Оригинал изображения сохранять не нужно. Размеров может быть несколько (large - 2048x2048, medium - 1024x1024, thumb - 300x300). В качестве размеров указаны максимально допустимые значения ширины и высоты.
Примечания:
- сервис должен обслуживать только один endpoint: запрос на адрес вида /{filename};
- не использовать multipart/form-data (в заголовках запроса будет указан Content-Type: например, Content-Type: image/png);
- количество потребляемой сервисом оперативной памяти не должно быть связано с размером загружаемого файла;
- конфигурация сервиса должна производиться посредством переменных окружения;
- необходимо обеспечить возможность указания допустимых расширений и допустимых типов файлов (Content-Type) (все прочие файлы сервис должен отклонять);
- необходимо обеспечить возможность указания максимального размера файла;