Skip to content

EdwardRadzh/mesto

Repository files navigation

Проект 4: Место

Ссылка на работу в GitHub Pages

Описание

Это четвёртый обучающий проект на курсе фронтэнд разработчиков в Яндекс.Практикум

Данный проект представляет собой интерактивное приложение. В этот сервис можно добавлять фотографии интересных мест, удалять их и ставить лайки.

Основной функционал

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

Код объектно-ориентирован

  • реализованы классы на ES6 синтаксисе,
  • весь JavaScript код разбит на модули,
  • каждый класс выполняет строго одну задачу (всё, что относится к решению этой задачи, находится внутри данного класса),
  • для описания взаимодействия между классами используется слабое связывание (внутри классов напрямую не создаются экземпляры других классов),
  • класс Popup базовый, имеет наследников, создающихся для каждого модального окна,
  • экземпляр класса Card создаётся для каждой карточки,
  • экземпляр класса FormValidator создаётся для каждой проверяемой формы,
  • создан класс Api, внутри которого описаны все запросы к серверу.

В проекте использованы технологии/принципы:

  • HTML5,
  • CSS3,
  • JavaScript (ES6),
  • OOП,
  • все поля форм валидируются,
  • Webpack,
  • сайт адаптирован c media queries,
  • flexbox,
  • grid,
  • относительные размеры блоков/элементов,
  • позиционирование,
  • модальные окна (реализовано закрытие по нажатию на Esc и клику по оверлею),
  • БЭМ (наименование классов и организация файловой структуры Nested