Диплом: Разработка электронного магазина по реализации компьютерных комплектующих для компании "Технодом"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
57
o Организация вложенности каталогов неограниченного уровня.
o Задание свойств товаров на уровне каталога с учетом
наследования.
o Вывод блока каталога на сайте в виде списка товарных карточек и
подкаталогов.
o Вывод блока «Спецпредложения»
o Вывод блока «Новинки»
o Вывод блока «Топ продаж»
Модуль «Карточка товара». Данный модуль должен предоставлять
следующие функции:
o Создание карточки товара
o Редактирование карточки товара с заполнением всех свойств по
иерархии каталогов, к которым товар относится
o Удаление карточки товара
o Учет ситуации, когда один товар может быть от различных
поставщиков. В случае, если есть в наличии несколько
предложений от разных поставщиков, на сайте показывать
предложение по минимальной цене.
o Возможность указания нескольких изображений товара
Модуль «Интеграция»
o Обновление наличия товаров с помощью загрузки прайсов
поставщиков в формате Excel
o Автоматическое обновление цен по формуле «цена поставщика
плюс процент»
o Автоматическое обновление цен на товары с помощью выгрузки
из системы 1С.
Модуль кэширование. Данный модуль предназначен для ускорения
генерации и рендеринга страниц для интернет-магазинов с большим
количеством товаров. Основные функции:
58
o Кэширование текстовых страниц
o Кэширование главной страницы
o Кэширование товарных карточек
o Наличие кнопки «Очистить кэш»
Модуль «Корзина» должен предоставлять следующие возможности:
o Просмотр позиций корзины
o Изменение количества товара в каждой позиции
o Удаление позиции из корзины
o Автоматический расчет/пересчет общей стоимости корзины
Модуль «Заказы»
o Оформление заказов
o Просмотр заказов
o Рассылка информации о заказе на почту клиента и менеджера с
помощью модуля «Рассылки»
Модуль «Личный кабинет» должен предоставлять следующие
возможности:
o Регистрация и аутентификация
o Просмотр личной информации
o Изменение личной информации пользователя
o Просмотр начисленных бонусов и предоставленных скидок
o Смена пароля
o Вывод списка пользователей
o Изменение прав пользователя путем присваивания роли
(Пользователь, Модератор, Администратор)
Модуль «Рассылки» должен предоставлять программные функции по
отправке электронного письма по указанным электронным почтовым
адресам.
Модуль «Резервное копирование» должен предоставлять следующие
возможности:
59
o Резервное копирование файлов базы данных системы по
состоянию некоторую дату
o Откат до указанной даты.
o Автоматизация резервного копирования по расписанию
3.2. Роли пользователей в системе
С точки зрения распределения ролей в системе должно быть три
основных роли: Пользователь, Модератор и Администратор.
Согласно требованиям к системе, Пользователь должен иметь права:
Просматривать главную страницу.
Просматривать текстовые страницы.
Просматривать каталоги и карточки товаров.
Осуществлять поиск по характеристикам товара в каталоге.
Осуществлять поиск по сайту по ключевым словам.
Добавлять товары в корзину, изменять их количество и удалять позиции
из корзины.
Регистрироваться в системе и проходить аутентификацию.
Просматривать свой личный кабинет с информацией о заказах и
скидках.
Оформлять заказ.
Согласно требованиям к системе, Модератор дополнительно к
функциям пользователя должен иметь права:
Добавлять текстовые страницы.
Редактировать текстовые страницы.
Удалять текстовые страницы.
60
Добавлять категории и карточки товаров.
Редактировать категории и карточки товаров.
Удалять категории и карточки товаров.
Управлять общими характеристиками товаров для категории.
Создавать группу товаров-близнецов (один товар от разных
поставщиков)
Изменять группу товаров-близнецов
Удалять группу товаров-близнецов
Просматривать список заказов с поиском и фильтрацией.
Просматривать информацию о заказе.
Согласно требованиям к системе, Администратор дополнительно к
функциям модератора должен иметь права:
Просматривать список пользователей
Изменять права доступа пользователей
Удалять пользователей
Очищать кэш
Управлять настройками кэширования веб-страниц сайта
Управлять настройками кэширования главной страницы
Управлять настройками кэширования карточек товара и каталога
3.3. Проектирование базы данных электронного магазина
Долгосрочное хранение данных в системе должно быть организовано с
помощью реляционных баз данных. Рассмотрим основные таблицы
базы данных и их взаимосвязи.
Page (см. таблицу 3) содержит информацию, необходимую для модуля
«Текстовые страницы».
61
Таблица 3.
Реляционная таблица Page (Текстовая страница)
Имя
столбца
Тип
данных
Ограничения
Описание
id
bigint
PRIMARY KEY
Идентификатор
created
timestamp
Дата и время создания
lastchanged
timestamp
Дата и время последнего
изменения
description
varchar
SEO-тег description, описание
веб-страницы
keywords
varchar
SEO-тег keywords, ключевые
слова
path
varchar
Часть url, относящаяся к
данному объекту, веб-
странице
title
varchar
Название, наименование,
заголовок веб-страницы
body
clob
Контент страницы, гипертекст
domain
varchar
Домен сайта
parent_id
bigint
FOREIGN KEY
Идентификатор родительской
страницы
Таблица Goods (см. Таблица4) содержит всю информацию о товаре. В
том числе и скрытые поля, необходимые для области администрирования, а
также для модуля «Интеграция».
Таблица 4.
Реляционная таблица Goods (Карточка Товара)
Имя столбца
Тип
данных
Ограничения
Описание
id
bigint
PRIMARY KEY
Идентификатор
created
timestamp
Дата и время создания
lastchanged
timestamp
Дата и время последнего
изменения
description
varchar
SEO-тег description, описание
веб-страницы
keywords
varchar
SEO-тег keywords, ключевые
слова
62
path
varchar
Часть url, относящаяся к
данному объекту, веб-
странице
title
varchar
Название, наименование,
заголовок веб-страницы
brand
varchar
Бренд, производитель
code
varchar
Код товара
fulldescription
clob
Описание технических
характеристик товара
newoffer
boolean
Новинка
previousoptprice
integer
Предыдущая оптовая цена
price
integer
Цена
shortdescription
clob
Краткое описание
state
integer
Состояние (В наличии, На
заказ, Отключен)
superoffer
boolean
Суперпредложение
domain
varchar
Домен сайта
catalog_id
bigint
FOREIGN KEY
Идентификатор каталога
pinned
boolean
Закрепленный товар
previousprice
integer
Предыдущая цена
margin
integer
Процент наценки для
категории
Таблица GoodsCatalog содержит информацию о категориях товаров.
Связь один-ко многим осуществляется с помощью поля catalog_id таблицы
Goods.
Таблица 5.
GoodsCatalog (Каталог, Категория товаров)
Имя столбца
Тип
данных
Ограничения
Описание
id
bigint
PRIMARY KEY
Идентификатор
created
timestamp
Дата и время создания
lastchanged
timestamp
Дата и время последнего
изменения
description
varchar
SEO-тег description, описание
веб-страницы
keywords
varchar
SEO-тег keywords, ключевые
слова
path
varchar
Часть url, относящаяся к
данному объекту, веб-
странице
title
varchar
Название, наименование,
заголовок веб-страницы
domain
varchar
Домен сайта
63
parent_id
bigint
FOREIGN KEY
Идентификатор родительского
каталога
percentage
integer
Процент цены со скидкой для
категории
prefix
varchar
Префикс для категории
fulldescription2
clob
Маркетинговое описание
товара
margin
integer
Процент наценки для
категории
Организация свойств товаров организуется с помощью задания свойств
на уровне категории. В данном случае имеет место связь «многие-ко-многим»
Таблиц GoodsCatalog и GoodsProperty (см. Таблицу 6) через промежуточную
таблицу. Для краткости изложения, здесь и далее не будем приводить
промежуточные таблицы.
Таблица 6.
GoodsProperty (Свойство товара категории)
Имя
столбца
Тип
данных
Ограничения
Описание
id
bigint
PRIMARY KEY
Идентификатор
created
timestamp
Дата и время создания
lastchanged
timestamp
Дата и время последнего
изменения
code
varchar
Код свойства
title
varchar
Название свойства
Значения индивидуальных свойств каждого товара происходит с
помощью связи «многие-ко-многим» таблиц Goods и GoodsPropertyValue (см.
Таблицу 7) через промежуточную таблицу.
Таблица 7.
GoodsPropertyValue (Значение свойства товара)
Имя
столбца
Тип данных
Ограничения
Описание
id
bigint
PRIMARY KEY
Идентификатор
created
timestamp
Дата и время создания
64
lastchanged
timestamp
Дата и время последнего
изменения
value
varchar
Значение свойства
property_id
bigint
FOREGIN KEY
Идентфикатор свойства
Для того, чтобы организовать возможность прикрепления к каждому
товару нескольких изображений, необходима таблица, которая будет хранить
информацию о загружаемых изображениях. Это таблица Image (см. Таблицу
8), которая содержит две ссылки на файлы полноразмерного изображения и
его уменьшенную копию. Поскольку изображения могут быть не только у
товаров, но также и у каталогов, да и в WYSIWYG-редакторе могут
загружаться избражения, то данное хранение информации о загруженных
изображениях, имеет универсальную природу.
Таблица 8.
Image (Изображение)
Имя
столбца
Тип
данных
Ограничения
Описание
id
bigint
PRIMARY KEY
Идентификатор
created
timestamp
Дата и время создания
lastchanged
timestamp
Дата и время последнего
изменения
large
varchar
Ссылка на исходное
полноразмерное изображение
small
varchar
Ссылка на уменьшенную копию
изображения
Хранение товаров в корзине организовано с помощью связи многие-ко-
многим таблиц Cart и CartPosition.
65
Таблица 9.
Cart (Корзина)
Имя
столбца
Тип
данных
Ограничения
Описание
id
bigint
PRIMARY KEY
Идентификатор
created
timestamp
Дата и время создания
lastchanged
timestamp
Дата и время последнего
изменения
user_id
bigint
Идентификатор пользователя,
которому принадлежит корзина
Таблица 10.
CartPosition (Товарная позиция в корзине)
Имя
столбца
Тип
данных
Ограничения
Описание
id
bigint
PRIMARY
KEY
Идентификатор
created
timestamp
Дата и время создания
lastchanged
timestamp
Дата и время последнего
изменения
number
integer
Количество товара в позиции
goods_id
bigint
Идентификатор товара
Организация оформления заказа должна обеспечивать долгосрочное
хранение информации о проданных/купленных товарах. Система должна быть
автономна, отвязана от таблиц Goods и GoodsCategory, поскольку она может
содержать информацию о продажах, в настоящий момент уже снятых с
производства или выведенных из прайса. Таким образом нет связи по
первичному и внешнему ключу с таблицей товаров. При этом по возможности
организовывается связь на уровне уникальных кодов товаров. Информация о
заказах хранится в таблицах Orders и OrderRecord
66
Таблица 11.
Order (Заказ)
Имя
столбца
Тип
данных
Ограничения
Описание
id
bigint
PRIMARY KEY
Идентификатор
created
timestamp
Дата и время создания
lastchanged
timestamp
Дата и время последнего
изменения
user_id
bigint
FOREIGN KEY
Идентификатор пользователя,
которому принадлежит корзина
address
varchar
NOT NULL
Адрес, по которому была
проведена доставка
comments
varchar
Комментарии к заказу
email
varchar
Электронная почта клиента
firstname
varchar
NOT NULL
Имя клиента
lastname
varchar
Фамилия клиента
phone
varchar
NOT NULL
Телефон клиента
Таблица 12.
OrderRecord (Товарная позиция в заказе )
Имя
столбца
Тип
данных
Ограничения
Описание
id
bigint
PRIMARY KEY
Идентификатор
created
timestamp
Дата и время создания
lastchanged
timestamp
Дата и время последнего
изменения
code
varchar
NOT NULL
Код товара
info
varchar
Информация о товаре,
наименование
number
integer
Количество заказанного товара
totalsum
integer
На какую сумму был заказ
orders_id
bigint
FOREIGN KEY
Идентификатор заказа
Модуль «Личный кабинет» предоставляющий возможность доступа и
хранение информации в личном кабинете покупателей совмещен с модулем
«Пользователи» с точки зрения хранения информации. Для этого используется
таблица User. В целях безопасности используется хранение хэша проля.
Таблица 13.
User (Пользователь)

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)
Value-based education: ценности в системе образования и способы их реализации на уроке английского языка. Опыт Европейских стран