Тестовое задание на позицию frontend-разработчика от Banki.shop.
Интернет-магазин картин эпохи Возрождения с возможностью поиска, покупки и просмотра детальной информации о товарах.
https://test-task-renaissance-paintings.vercel.app/
- Vue 2 (Options API)
- TypeScript
- SCSS
- Webpack 5 (через Vue CLI 5)
- Node.js 16.x
# Переключиться на Node 16
nvm use 16
# Установить зависимости
npm install# Режим разработки
npm run serveПриложение будет доступно по адресу http://localhost:8080/
# Продакшн-сборка
npm run buildРезультат сборки попадёт в папку dist/
# Запуск Prettier для всех файлов
npm run format- Строка поиска
- Поиск по названиям картин в реальном времени
- Фильтрация списка товаров без перезагрузки страницы
- Кнопка "Купить"
- Три состояния кнопки:
- Купить — начальное состояние с иконкой корзины
- Обработка — анимированный спиннер на 2 секунды
- В корзине — иконка галочки, кнопка неактивна
- Состояния визуально оформлены SVG-иконками
- Сохранение состояния
- Состояние корзины сохраняется в localStorage
- После перезагрузки страницы товары в корзине отображаются корректно
- Подробное описание позиции
- Модальное окно при клике на карточку или изображение
- Содержит: описание, цену, слайдер с изображениями
- Слайдер поддерживает переключение по миниатюрам
- Адаптивная вёрстка
- Респонсивный дизайн до 360px
- Бургер-меню на мобильных устройствах
- Адаптивная сетка карточек: 4 → 3 → 2 → 1 колонка
Проект использует Vue CLI 5, который включает Webpack 5. Конфигурация Webpack доступна через vue.config.js и может быть просмотрена командой:
npx vue-cli-service inspectПриложение корректно отображается в:
- Chrome
- Firefox
- Safari
- Edge
shaba-cmd