Skip to content
This repository has been archived by the owner on Nov 5, 2021. It is now read-only.
Anatoly edited this page Dec 1, 2017 · 2 revisions

Магазин

При входе на сайт пользователь попадает на страницу магазина - "Лекарства". В окне присутствует меню, строка для поиска, результаты поиска и в футере - контакты для связи. Если пользователь ничего не искал, в качестве результатов поиска отображаются товары из списка рекомендуемых.

Резульататы поиска / Рекомендуемые

Результаты выводятся постранично. Размер страницы по умолчанию равен 8, но может быть переопределен через URL браузера.

Поиск

Поиск работает по следующему алгоритму

  1. Ищет простое вхождение в название лекарства
  2. Если ничего не найдено, выполняется полнотекстовый поиск mongodb по поля: название, описание, производитель, МНН
  3. Если ничего не найдено, выполняется поиск с учетом функции soundex

Все виды поиска выполняют преобразование раскладки клавиатуры к русской

Управление выводом результатов

URL для поиска использует hash для обновления списка. Hash имеет следующий формат #search=Аспирин,offset=0,pageSize=8, где

  • search - строка поиска
  • offset - кол-во пропущенных элементов
  • pageSize - размер страницы, по умолчанию 8

Корзина

На каждом товаре присутствует кнопки + и -, которые управляют присутствием данного товара в корзине пользователя. Если корзина пуста, то пункт меню "Корзина" отсутствует. При наличии товара в корзине в этом пункте отображается общее количество наименований в корзине.

Если пользователь не аутентифицирован, то корзина является сессионной и может исчезнуть после окончания сессии, после аутентификации она привязывается к данному пользователю.

Администрирование

В случае если у пользователя есть роль ADMIN, отображается дополнительное меню "Администрирование"

Магазин

Работа с программой