Описание интернет-магазина из тестового задания
Опубликовал тестовое задание про интернет-магазин. По условиям задания, авторизация не требуется и пользователи могут добавлять и удалять товары, редактировать каталог и совершать покупки.
Тестирование проводилось под Linux (CentOS 6.4) с php 5.3.3, apache 2.2, mysql 5.1.
Исходный код доступен на github.
Поддерживается работа в основных десктопных (ie8+) и мобильных браузерах.
При перемещении по каталогу в левом меню, происходит AJAX-подгрузка товаров. По возможности, выставляется правильная ссылка на каталог через HTML5 History API.
Перейти к редактированию открытого каталога можно по кнопке настроек. В этой же области размещена ссылка на каталог более высокого уровня:
Создание нового каталога осуществляется из консоли управления (снизу экрана).
Всплывет окно с товарами в корзине, в котором новому пользователю надо будет ввести фамилию и телефон. При клике на кнопке "Купить", через AJAX произойдет регистрация пользователя и последующая отправка товаров из корзины на сервер.
Особенности:
1) Так как корзина хранится в локальном хранилище браузера, закрытие браузера не приведет к потере товаров в корзине.
2) У пользователя только одна корзина, когда он отсылает новые товары под тем-же логином, он редактирует уже существующий набор.
Описание программы
Общие сведения
Программа написана в netbeans 7.3 на базе php-фреймворка symfony2, ORM-фреймворка doctrine2, css-фреймворка bootstrap 3 и javascript-библиотеки jQuery 1.Тестирование проводилось под Linux (CentOS 6.4) с php 5.3.3, apache 2.2, mysql 5.1.
Исходный код доступен на github.
Поддерживается работа в основных десктопных (ie8+) и мобильных браузерах.
Технологические особенности
CRUD-действия с большинством сущностей (пользователи, корзины, товары, категории) можно осуществлять через RESTful-сервисы.Установка
Установка описана на github.Демо-версия
Демо-версия временно доступна на сайте: http://live.psu.ru/shop/app_dev.php/api/catalog/1. Можете добавлять или редактировать контент, покупать что угодно.Использование программы
Каталог
Когда пользователь заходит на сайт, он видит развернутый каталог в левом меню, все товары из текущего каталога и случайных 12 товаров, размещенных во всех вложенных папках (категориях) от текущего каталога.При перемещении по каталогу в левом меню, происходит AJAX-подгрузка товаров. По возможности, выставляется правильная ссылка на каталог через HTML5 History API.
Перейти к редактированию открытого каталога можно по кнопке настроек. В этой же области размещена ссылка на каталог более высокого уровня:
Создание нового каталога осуществляется из консоли управления (снизу экрана).
Товары
Перемещение товара в корзину осуществляется нажатием зеленой кнопки на виджете товара. В виду отсутствия требования подробного описания товара в ТЗ, товар не кликабелен и дополнительной информации кроме названия не содержит. Перейти в режим редактирования товара можно по клику иконки настроек:Корзина
При нажатии кнопки перемещения товара в корзину, товар и корзина сохраняются в локальном хранилище браузера. Для совершения покупки пользователь должен кликнуть на корзину в верхнем меню.Всплывет окно с товарами в корзине, в котором новому пользователю надо будет ввести фамилию и телефон. При клике на кнопке "Купить", через AJAX произойдет регистрация пользователя и последующая отправка товаров из корзины на сервер.
Особенности:
1) Так как корзина хранится в локальном хранилище браузера, закрытие браузера не приведет к потере товаров в корзине.
2) У пользователя только одна корзина, когда он отсылает новые товары под тем-же логином, он редактирует уже существующий набор.
Комментарии
Отправить комментарий