*Pug, SCSS, Flexbox, JS (ES 2015+), jQuery, Webpack, PHP
Верстка сайта lr-avangard.ru
- Сверстать по psd-макету сайт lr-avangrad.ru — автосервис Ленд Ровер.
Страницы сайта:
- Главная страница + модальное окно
- Страница благодарности
- Политика конфиденциальности
- Страница 404
- Реализовать отправку заявок с сайта на почту администратора. При наличии utm-меток отправить информацию об utm-метках администратору.
Сайт должен корректно отображаться на всех типах устройств.
- Реализовать работу слайдера в блоке «Сотрудники».
- Реализовать работу динамического списка выбранных услуг в блоке «Услуги».
- Реализовать отправку заявки на сервер с выбранными опциями. Добавить информацию об utm-метках.
- Добавить загрузку Яндекс-карты в блок «Контакты».
Реализовать отправку html-письма администратору с данными, указанными в заявке.
-
Поставленная задача решалась с помощью технологий:
- Pug
- SCSS
- Flexbox
- JS (ES 2015+, jQuery)
- Webpack
- PHP
-
Для выполнения запросов к серверу использовалась библиотека axios
-
Для выполнения асинхронного кода применялись async, await и Promise
-
Для перехвата возможных ошибок при отправке заявки создан собственный обработчик ошибок, унаследованный от стандартного класса Error
ServerResponseError | Ошибка ответа от сервера |
---|
- Для сборки проекта использовался Webpack. Создано 3 конфигурационных файла:
Сборка | Описание |
---|---|
webpack.hot.config.js | получить сборку проекта для работы в режиме HMR (Hot Module Replacement) |
webpack.dev.config.js | получить на диск промежуточную сборку проекта для анализа и проверки |
webpack.build.config.js | получить итоговую сборку проекта для закачивания на хостинг |
-
Для отправки письма администратору использовались готовые PHP-скрипты. В том числе использовался «класс для отправки писем через протокол SMTP с авторизацией», автор — Ipatov Evgeniy [email protected].
-
При разработке использовался ESLint от Wesbos, в основе которого лежит Airbnb JavaScript Style Guide
-
Линтинг scss-файлов - по примеру данной сборки.
-
В итоговой сборке имена файлов содержат хеши, вычисленные на основе содержимого файла (для автоматического браузерного обновления при обновлении файла).
-
Файлы выгружены в gzip-формат для ускорения загрузки сайта.