Дело 05Новое

5. Интернет-магазин

Trailhead Shop — интернет-магазин снаряжения для экспедиций: палатки, спальники, термосы, ножи, верёвки, горелки, фонари и рюкзаки. Ваша задача — проверить весь путь покупателя, от поиска в каталоге до оформления заказа и отслеживания его статуса, на соответствие требованиям ниже и найти все баги и проблемы удобства.

  • Браузер
  • Баг-репорт
Вперёд!

Требования

Общие:

  • Магазин доступен на русском, английском, немецком, испанском и французском. Цены во всех языковых версиях — в долларах США ($).
  • Смотреть каталог и страницы товаров может любой. Чтобы положить товар в корзину или избранное и оформить заказ, нужно войти.
  • Все данные (пользователи, корзины, заказы, отзывы, остатки) хранятся в вашем браузере. Кнопка Сбросить магазин в меню Realbugz (круглая кнопка «Rb» в левом верхнем углу магазина) удаляет их и возвращает исходные остатки. Там же — ссылка на эти требования, они открываются в отдельной вкладке.
  • Все страницы удобны на телефоне (ширина экрана от 360 px), без горизонтальной прокрутки. На телефоне фильтры спрятаны под кнопку Фильтры, а навигация — под кнопку меню.
  • В шапке магазина: логотип (ведёт в каталог), поиск, Избранное и Корзина со счётчиками, Войти или имя пользователя (ведёт в личный кабинет).

Каталог:

  • В каталоге 64 товара в 8 категориях.
  • Карточка товара: фото, название, цена (и старая цена зачёркнутой, если есть скидка), рейтинг, кнопка В корзину и кнопка избранного.
  • Товары, которых нет в наличии, отмечены «Нет в наличии», их нельзя положить в корзину.
  • Поиск — по названию товара, без учёта регистра, пробелы в начале и в конце не учитываются, минимум 2 символа. Если ничего не найдено — сообщение «Ничего не найдено».
  • Фильтры: категория (можно выбрать несколько), цена от / до (целые числа от 0, «от» не больше «до»; границы включительно — товар с ценой ровно на границе показывается), «Только в наличии».
  • Сортировка: по популярности (по умолчанию), сначала дешёвые, сначала дорогие, по названию А–Я, по рейтингу.
  • Поиск, фильтры и сортировка работают вместе. По 12 товаров на странице, внизу номера страниц.
  • После возврата со страницы товара фильтры, сортировка и номер страницы сохраняются.
  • Если гость нажимает В корзину или кнопку избранного, открывается страница входа; после входа пользователь возвращается туда, где был.

Страница товара:

  • Хлебные крошки: Каталог → Категория → Товар.
  • Фото, название, категория, цена, описание и характеристики.
  • Наличие: «В наличии: N шт.» или «Нет в наличии».
  • Количество: от 1 до 10, но не больше остатка.
  • Повторное нажатие на кнопку избранного убирает товар из избранного.
  • Отзывы: оценка от 1 до 5 звёзд и текст 10–500 символов (пробелы в начале и в конце не считаются). Оставить отзыв может только вошедший пользователь, один отзыв на товар. Средний рейтинг показывается с одним знаком после запятой, рядом — число отзывов.

Регистрация и вход:

  • Имя: 2–30 символов, буквы (латиница, включая буквы с диакритикой вроде é, ü, ñ, и кириллица), пробел и дефис.
  • Email: правильный формат, уникальный (без учёта регистра).
  • Пароль: 8–20 символов, хотя бы одна буква и одна цифра. Есть кнопка Показать.
  • Подтверждение пароля должно совпадать с паролем.
  • Галочка «Я согласен с условиями использования» обязательна.
  • Ошибки показываются под полем сразу после ухода с него. После регистрации пользователь сразу вошёл.
  • При неверном email или пароле — сообщение «Неверный email или пароль» (без уточнения, что именно неверно).
  • Вход сохраняется после закрытия вкладки, пока пользователь не нажмёт Выйти.
  • У каждого пользователя свои корзина и избранное: после выхода их не видно, после входа они возвращаются.

Корзина:

  • В строке: фото, название, цена за штуку, количество (кнопки − / + и поле), сумма строки и кнопка Удалить.
  • Количество: от 1 до 10 и не больше остатка. При попытке указать больше — сообщение «Не больше 10 шт. одного товара в одни руки» или «Доступно только N шт.».
  • Добавление товара, который уже есть в корзине, увеличивает его количество (с теми же лимитами).
  • В пустой корзине — сообщение и ссылка в каталог.
  • Стоимость доставки рассчитывается при оформлении. Все суммы округляются до центов.

Промокоды:

  • Один промокод на заказ. Регистр букв не важен, пробелы в начале и в конце не учитываются.
  • TREK10 — скидка 10%, только на товары без скидки.
  • SAVE15 — скидка $15, если сумма товаров от $100.
  • FREESHIP — бесплатная доставка курьером (не экспресс).
  • SUMMER24 — истёк: показывается сообщение «Срок действия промокода истёк».
  • Неизвестный код — сообщение «Промокод не найден».

Оформление заказа:

  • Получатель (подставляется имя из профиля), телефон («+» и 10–15 цифр), город (2–50 символов), улица и дом (3–100 символов), индекс (5–6 цифр) — обязательные; комментарий для курьера — до 200 символов, необязательный.
  • Доставка: самовывоз — $0; курьер — $10, бесплатно, если сумма товаров после скидки от $150; экспресс — всегда $25.
  • Оплата: «Картой онлайн» или «При получении».
  • Один клик по Оформить заказ создаёт ровно один заказ. Заказ получает номер вида RB-10001 (по порядку), корзина очищается, промокод сбрасывается, остатки товаров уменьшаются.
  • Оплата картой — на странице заказа, пока статус «Ожидает оплаты»: номер карты из 16 цифр, срок действия ММ/ГГ не в прошлом, CVV из 3 цифр. Используйте тестовую карту 4242 4242 4242 4242.

Статусы заказа:

  • «Ожидает оплаты» — сразу после оформления с оплатой «Картой онлайн».
  • «Оплачен, собирается» — после оплаты картой или сразу после оформления с оплатой «При получении».
  • «Отправлен» — после «Оплачен, собирается», когда заказ уходит со склада.
  • «Доставлен» — после «Отправлен», когда курьер доставил заказ.
  • «Отменён» — пользователь нажал Отменить заказ; остатки возвращаются. Отменить заказ можно только до отправки.
  • На странице заказа — история статусов с датой и временем.

Личный кабинет:

  • Профиль: имя можно изменить, email — нельзя. Смена пароля: текущий пароль, новый пароль, подтверждение.
  • Мои заказы: номер, дата, сумма и статус; новые сверху. Клик по заказу открывает подробности.
  • Избранное: список товаров, удаление, добавление в корзину.