Создает DOM-элемент следующей структуры. Можно использовать шаблонизацию.

Галерея изображений Создает DOM-элемент следующей структуры.
Карточка изображения Создает DOM-элемент следующей структуры.

thumb_up 1108

visibility 320321

comment 129

cloud_download 176019

Для иконок используются Material icons. Для их корректной работы достаточно в HTML-файле добавить ссылку на веб-шрифт. Или добавив npm-пакет material-design-icons и импортировав веб-шрифт в index.js.

Кнопка 'Load more' При нажатии на кнопку Load more должна догружаться следующая порция изображений и рендериться вместе с предыдущими.

Страница должна автоматически плавно проскроливаться после рендера изображений, чтобы перевести пользователя на следующие загруженные изображения. Используй метод Element.scrollIntoView().

const element = document.getElementById('.my-element-selector'); element.scrollIntoView({ behavior: 'smooth', block: 'end', }); Дополнительно Можно добавить плагин нотификаций, например pnotify, и показывать нотификации на результат HTTP-запросов Можно добавить функционал отображения большой версии изображения через плагин модального окна, например basicLightbox, при клике на изображение галереи Вместо кнопки Load more можно сделать бесконечную загрузку при скроле используя Intersection Observer.