Интернет-магазин / Пародия / SPA

M&H — интернет-магазин одежды, который очень старается не быть H&M

Пародийный магазин с полным набором функций: каталог с фильтрами, карточка товара, корзина с промокодами, оформление заказа и история заказов. Вся одежда нарисована кодом, а шуток здесь больше, чем скидок.

Открыть сайт ↗
M&H — главная

Задача проекта

Идея

Показать, что я могу собрать интернет-магазин целиком, а не только красивую витрину. Чтобы это не было скучно, магазин получился пародией: «Это не H&M, это M&H». Бренд отзеркален буквально: у сайта есть кнопка «Отзеркалить», а логотип меняет буквы местами.

Реализация

Одностраничное приложение на чистом JavaScript с hash-роутингом, без фреймворков и сборки. Корзина, избранное и заказы хранятся в localStorage, а фотографий товаров нет вообще: каждая вещь, от худи до кота в свитере, рисуется SVG-кодом и перекрашивается под выбранный цвет.

Что умеет

Каталог из 20 товаров: поиск с подсказками, фильтры по категории, цене, размеру и цвету
Сортировка и постраничная подгрузка «Показать ещё»
Карточка товара: выбор цвета и размера, галерея, отзывы с рейтингом
Подбор размера (который всегда советует «H»)
Быстрый просмотр и добавление в корзину прямо из каталога
Корзина: количество, удаление, промокоды, прогресс до бесплатной доставки
Оформление заказа с валидацией, проверкой карты по алгоритму Луна и тремя способами доставки
Статус заказа в реальном времени и история заказов
Избранное, отзывы и корзина сохраняются между визитами
Режим «Отзеркалить сайт», убегающая кнопка в cookie-баннере и вечная распродажа
Адаптив, управление с клавиатуры, нулевые зависимости

Скриншоты проекта

Мобильная версия

Мобильная версия

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

Корзина открывается шторкой, а форма заказа складывается в одну колонку. Горизонтального скролла нет.

Результат работы

0

зависимостей: чистые HTML, CSS и JavaScript

20

товаров, нарисованных SVG-кодом

8

экранов: главная, каталог, товар, корзина, заказ и другие

3

промокода, один из которых магазин принципиально отвергает

Хочешь такой же проект?

Обсудить проект ↗ Открыть сайт ↗