Проект предназначен для отработки навыков программирования на языке JavaScript. Проект демонстрирует функционал социальной платформы, отображающей имеющиеся на сервере фотографии и позволяющей пользователям загружать свои фотографии, ставить лайки на любые фото, удалять свои карточки. Кроме того, пользователь может редактировать свои данные, менять аватар.
- реализован класс Api.js с FETCH-запросами (GET, POST, DELETE, PATCH, PUT): загрузка стартовых карточек с сервера, добавление новых фото, простановка like, удаление карточки с фото, замена данных подьователя и аватара;
- реализованы модальные окна с формой ввода данных пользователем. Для работы попапов создан класс Popup.js, который имеет дочерние классы PopupWithForm.js (окно ввода/редактирования данныз), PopupWithSubmit.js (окно запроса подтверждения), PopupWithImage.js (окно с увеличенным изображением практически на весь экран). При создании дочерних классов используется наследование и полиморфизм;
- для всех полей ввода всех попапов с формами ввода/редактирования данных организована валидация вводимых данных посредством JS, за валидацию отвечает класс FormValidator.js:
В проекте настроен сборщик Webpack, для сборки рабочей версии проекта необходимо:
- клонировать репозиторий:
$ git clone <адрес репозитория> - установить npm:
$ npm install - если потребуются обновления для пакетов:
$ npm update - собрать проект:
$ npm run build - готовый проект будет находиться в папке /dist, для запуска необходимо открыть в браузере файл index.html.
◻️ Babel-core
◻️ Babel-loader
◻️ Babel-preset
◻️ Autoprefixer
◻️ Clean plugin
◻️ Css-loader
◻️ Cssnano
◻️ Gh-pages
◻️ HTML Webpack Plugin
◻️ Mini-css-extract-plugin
◻️ Postcss-loader
◻️ Webpack
◻️ Webpack
◻️ Webpack-dev-server
◻️ Core-js