Skip to content

we1r9/provatorov-archive

Repository files navigation

provatorov.ru

Веб-приложение для просмотра и скачивания фотографий в высоком разрешении.

О проекте

Галерея фотографий моего отца, Александра Проватóрова – путешественника и фотографа. Сайт собирает его архив в одном месте, позволяет осуществлять поиск снимков и скачивать их в оригинальном разрешении.

Демо

Галерея

Галерея. Поиск, сортировка и добавление в избранное

Галерея

Фото. Просмотр похожих снимков и скачивание

Стек

HTML CSS JavaScript Yandex S3

Установка и запуск

  1. Клонируйте репозиторий:
git clone https://github.com/we1r9/provatorov-archive.git
cd provatorov-archive
  1. Откройте index.html через Live Server.

Технические подробности

  • Код организован по принципу модульной архитектуры (ES Modules): каждая страница имеет свой JS-файл, а общая логика вынесена в /utils.

  • Для каждого снимка существуют три версии: thumb (сетка галереи), web (страница снимка) и hq (скачивание). Первые две хранятся в репозитории, hq-файлы раздает Yandex S3 через CDN.

  • localStorage используется для хранения избранных снимков. sessionStorage сохраняет состояние галереи (поисковый запрос, режим сортировки, количество видимых карточек и позицию скролла), чтобы при возврате со страницы снимка галерея не меняла свое состояние.

  • Галерея загружает снимки порциями по 18 штук, остальные подгружаются по кнопке «Показать еще». Благодаря нативному lazy loading, браузер загружает только те изображения, которые попадают в зону видимости.

  • Реализована синхронизация избранного между вкладками, чтобы при добавлении или удалении снимка на одной вкладке, изменения отображались и на других.

  • Каждая фотография имеет свой URL, чтобы, например, ею можно было поделиться или сохранить в закладки.

  • Все данные о снимках хранятся в photos.json ввиду того, что на текущем этапе коллекция пополняется вручную.

Планы

  • Мигрировать на React и TypeScript
  • Заменить JSON на собственный сервер с базой данных
  • Реализовать загрузку фотографий и редактирование метаданных из интерфейса через админ-панель
  • Улучшить производительность приложения (оптимизировать загрузку изображений, ускорить рендер галереи)

Контакты

About

Фотоархив с удобным поиском, функцией избранного и возможностью скачивать снимки.

Resources

Stars

Watchers

Forks

Contributors