Добавлен: 18.05.2023
Просмотров: 424
Скачиваний: 4
СОДЕРЖАНИЕ
1. Техническое задание и выбор средств реализации.=
2. Описание модулей серверной части программы и их взаимодействие.
2.1. Описание пользовательской части
2.1.1. Структура пользовательской части промо-сайта
2.1.2. Основные программные модули
2.2. Описание административной части
2.2.1. Структура административной части промо-сайта
2.1.2. Основные программные модули
3. Описание структуры базы данных и ее функций
3.1. Описание структуры базы данных
3.2. Пользовательские функции и запросы к базе данных
4. Описание структуры клиентской части
4.1. Описание интерфейса «Обычный пользователь»
4.2 Описание интерфейса «Администратор»
4.3.1. Инструкция простого пользователя
(3, 'Каталог', '', 'catalog', ''),
(8, 'Ваши предложения', '', 'request', ''),
(10, 'Контакты', '', 'contacts', ''),
(11, 'Новости', '', 'news', '');
-- --------------------------------------------------------
--
-- Структура таблицы `news`
--
CREATE TABLE IF NOT EXISTS `news` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(191) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`image` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL,
`content` text COLLATE utf8mb4_unicode_ci,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci AUTO_INCREMENT=4 ;
--
-- Дамп данных таблицы `news`
--
INSERT INTO `news` (`id`, `name`, `image`, `content`) VALUES
(1, 'Состоялся второй розыгрыш акции «Садовый БУМ»!', 'uploads/uteplo_1.jpg', 'В субботу 01 июля в 17-00 в ТЦ "Галактика" произошел второй заключительный розыгрыш акции "Садовый бум".\r\nОбщий фонд акции 600000 рублей! Были разыграны денежные призы: 2500, 5000, 1000, 30000 и 50000 руб. И дорогие подарки: бензиновые и электрические мотокосы, бензиновые газонокосилки, мини мойки для авто и др.\r\nДля детей была создана атмосфера праздника. Пофессионалы - аниматоры в потрясающих костюмах детских героев играли и фотографировались с детками. Атмосфера праздника состоялась на славу!'),
(2, 'ВЕЛОБУМ! Дарим велосипед!', 'uploads/5mh1rge3.jpg', 'ГАЛАКТИКА ДАРИТ ВЕЛОСИПЕД!\r\n\r\nЧтобы участвовать:\r\nСделай репост записи❗ И НА СВОЕЙ СТЕНЕ❗ В КОММЕНТАРИЯХ ПОД ПОСТОМ напиши номер акционного чека (фото чека)!\r\nПодпишись на официальную группу Вконтакте https://vk.com/galaktika_official ????\r\nС 1 по 30 июня покупай «ТОВАРЫ ДЛЯ СПОРТА» на сумму от 1500 руб.\r\n30 июня 2019 года в 12:00 часов состоится определение ПОБЕДИТЕЛЯ с помощью специального приложения Random.app\r\n\r\nОбязательным условием определения Победителя и получение им Приза является наличие и предъявление оригинала расчетного документа(фискального чека), который вы оставляли в комментариях под постом НА СВОЕЙ СТЕНЕ, а также предъявления удостоверения личности Победителя.'),
(3, 'День защиты детей', 'uploads/12121.png', 'ЖДЁМ ВАС!\r\n\r\n1 июня, 2 июня на все детские товары -15%');
-- --------------------------------------------------------
--
-- Структура таблицы `order`
--
CREATE TABLE IF NOT EXISTS `order` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`date` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
`user_id` int(11) unsigned DEFAULT NULL,
`fio` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL,
`phone` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL,
`email` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL,
`comment` text COLLATE utf8mb4_unicode_ci NOT NULL,
`orderstatus_id` int(11) unsigned DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `index_foreignkey_order_user` (`user_id`),
KEY `index_foreignkey_order_orderstatus` (`orderstatus_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci AUTO_INCREMENT=5 ;
--
-- Дамп данных таблицы `order`
--
INSERT INTO `order` (`id`, `date`, `user_id`, `fio`, `phone`, `email`, `comment`, `orderstatus_id`) VALUES
(1, '2019-06-15 11:18:05', 6, 'Петров Петр Петрович', '0792873498374', 'petrov@mail.ru', 'г. Москва, ул. Краснопресненская 10 кв. 18', 2),
(2, '2019-06-16 03:00:31', 6, 'Петров Петр Петрович', '0792873498374', 'petrov@mail.ru', 'г. Москва, ул. Краснопресненская 10 кв. 18', 2),
(3, '2019-06-16 03:05:31', 6, 'Петров Петр Петрович', '0792873498374', 'petrov@mail.ru', 'г. Москва, ул. Краснопресненская 10 кв. 18', 1),
(4, '2019-06-16 04:06:46', 6, 'Петров Петр Петрович', '0792873498374', 'petrov@mail.ru', 'г. Москва, ул. Краснопресненская 10 кв. 18', 1);
-- --------------------------------------------------------
--
-- Структура таблицы `orderstatus`
--
CREATE TABLE IF NOT EXISTS `orderstatus` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(191) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci AUTO_INCREMENT=3 ;
--
-- Дамп данных таблицы `orderstatus`
--
INSERT INTO `orderstatus` (`id`, `name`) VALUES
(1, 'На исполнении'),
(2, 'Завершен');
-- --------------------------------------------------------
--
-- Структура таблицы `order_product`
--
CREATE TABLE IF NOT EXISTS `order_product` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`product_id` int(11) unsigned DEFAULT NULL,
`order_id` int(11) unsigned DEFAULT NULL,
`kol` int(10) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `UQ_72c780df41fbb5ef3e7e73a96d04067ddafefa10` (`order_id`,`product_id`),
KEY `index_foreignkey_order_product_product` (`product_id`),
KEY `index_foreignkey_order_product_order` (`order_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci AUTO_INCREMENT=7 ;
--
-- Дамп данных таблицы `order_product`
--
INSERT INTO `order_product` (`id`, `product_id`, `order_id`, `kol`) VALUES
(1, 2, 1, 2),
(2, 14, 2, 1),
(3, 4, 3, 2),
(4, 2, 4, 2),
(5, 4, 4, 5),
(6, 13, 4, 10);
-- --------------------------------------------------------
--
-- Структура таблицы `product`
--
CREATE TABLE IF NOT EXISTS `product` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(191) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`image` varchar(191) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`description` text COLLATE utf8mb4_unicode_ci,
`price` double NOT NULL,
`category_id` int(11) unsigned DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `index_foreignkey_product_category` (`category_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci AUTO_INCREMENT=15 ;
--
-- Дамп данных таблицы `product`
--
INSERT INTO `product` (`id`, `name`, `image`, `description`, `price`, `category_id`) VALUES
(1, 'Вентилятор настольный ВС-9 Умница', 'uploads/vs-9-umnica.jpg', 'Функция автоматического поворота на 90°, возможность регулировки угла наклона,защитная решетка с мелкой сеткой.', 1037, 3),
(2, 'Сплит-система «Akvilon» модель NL-28 +', 'uploads/kondicioner-nl-24-akvilon.jpg', 'Охлаждение / обогрев / вентиляция / осушение\r\nАвтоматический перезапуск\r\nЭкономное энергопотребление\r\nРегулировка и поддержание заданной температуры\r\nТурборежим, ускоряющий охлаждение / обогрев\r\nНочной режим «Sleep»\r\nЭкологически чистый фреон R410A\r\nНизкий уровень шума\r\nТаймер на включение/выключение\r\nСамодиагностика и защита\r\nНовейшая система контроля', 28715, 3),
(3, 'Духовой шкаф Electrolux EOC 5851 FOX', 'uploads/eoc-5851-fox_md.jpg', 'Духовка: электрическая независимая Объём духовки: 74 л Энергопотребление: класс A Мощность подключения: 3.50 кВт Максимальная температура: 300 °С Режимов нагрева: 10 Автоматических программ: 90 Гриль: есть Конвекция: есть Размораживание: есть Управление Переключатели: сенсорные Таймер: есть Дисплей: сенсорный Термощуп: есть \n\n', 42000, 5),
(4, 'Вытяжка кухонная Ventolux MONACO 60 OW/BRONZE (800)', 'uploads/monaco-60-ow-bronze-800_md.jpg', 'Тип: купольная Материал декора: рейлинг (рейка) Тип монтажа: пристенный Производительность: 800 куб. м/ч Тип управления: кнопочное Режим работы: отвод воздуха Дополнительные характеристики Автоматическое вкл/выкл (сенсор): нет Таймер: нет Диаметр воздуховода: 15 см Количество скоростей: 3 Тип освещения: 2х40 Вт Тип фильтра: алюминиевый Источник: https://www.tehnos.com.ua/p97142/vytyazhki-kuhonnye-ventolux-monaco-60-ow-bronze-800 © Технос', 10500, 5),
(5, 'Встраиваемая морозильная камера Freggia LSB0010', 'uploads/freggia_lsb0010_-main_md.jpg', 'Тип:встраиваемый Дизайн:Compatto Климатический класс :SN (10 °C-32 °C) Класс энергопотребления :A+ Общий объем, л:107 Полезный объем, л:95 Количество дверей:1 Петли под встройку :Есть Петли:правые Перенавешиваемая дверца :Есть Прозрачные аксессуары :Есть Цвет корпуса:белый Цвет резинового уплотнителя:белый Регулируемые ножки :Есть Цвет:белый\r\n', 15600, 5),
(6, 'Встраиваемая кофеварка Electrolux EBC 54524 OX', 'uploads/ebc-54524-ox_md.jpg', 'Самый простой способ приготовить капучино, не уступающего тому, что подают в кафе \r\nЗахотелось капучино? \r\nНажмите на кнопку «Капучино» – и полученный кофе не уступит тому, что подают в кафе. \r\nХарактерный вкус напитка, приготовленного на профессиональном оборудовании, получить не труднее, чем выпить сам кофе. \r\nВарите каждую чашку кофе так, чтобы она соответствовала вашему настроению \r\nЭта кофеварка может сварить чашку кофе, соответствующее вашему настроению, каким бы оно ни было. Выберите эспрессо, обычную или большую чашку.\r\n', 64000, 5),
(7, 'Сушильная машина Bosch WTN86201PL', 'uploads/wtn86201_md.jpg', 'Тип сушки: конденсационная \r\nЗагрузка: 8 кг \r\nРазмер: полноразмерная \r\nОбщие характеристики \r\nКласс энергопотребления: B \r\nФорма дверцы круглая со стеклом \r\nЗащита от детей: есть \r\nПодсветка барабана: LED \r\nДисплей: есть \r\n\r\nФункции \r\n\r\nКоличество программ: 8 \r\nФункция антисминания: есть \r\nКонтроль влажности белья: есть \r\nТаймер отсрочки старта: есть, до 24 часов \r\nБыстрая сушка: есть \r\nИндикатор заполнености бака конденсата: есть \r\n\r\n', 25000, 2),
(8, 'Морозильная камера Whirlpool AFB 601', 'uploads/indesitafb601_md.jpg', 'Тип: морозильная камера \r\nОбщий объем: 86 л\r\nУправление: электромеханическое \r\nЭнергопотребление: класс A (194 кВтч/год) \r\nКоличество камер: 1 \r\nКоличество дверей: 1 \r\nАвтономное сохранение холода: до 17 ч \r\nМощность замораживания: до 8 кг/cутки \r\n\r\nДополнительные возможности \r\n\r\nСуперзаморозка \r\nВозможность перевешивания двери: есть \r\nУровень шума: до 38 дБ\r\n', 10560, 2),
(9, 'Кофеварка DELTA LUX DL-8150К рожковая черная', 'uploads/dl_8150k.jpg', 'Параметры\r\nВместимость 240 мл\r\nМощность 800 Вт\r\nДавление пара 5 Бар\r\n\r\nОписание\r\nКорпус из высококачественного пластика\r\nЖаростойкий стеклянный резервуар для кофе\r\nСъемный многоразовый фильтр из нержавеющей стали\r\nСъемный металлический держатель для фильтра\r\nСъемный моющийся поддон\r\nШкала уровня воды\r\nСветовой индикатор работы\r\nФункция приготовления «Капучино»\r\nФункция «Пауза»\r\nЗащита от перегрева\r\nЦвет: черный', 7680, 2),
(10, 'Тепловентилятор электрический 2000 Вт DELTA D-201/1', 'uploads/d_201_1.jpg', 'Параметры\r\nМаксимальная мощность 2000 Вт\r\nНоминальная мощность вентилятора 20 Вт\r\nПлощадь обогрева 20-24 кв.м\r\n\r\nОписание\r\nТепловентилятор предназначен для вентиляции и обогрева небольших помещений\r\nИсполнение - переносное, тип - напольный/настольный\r\nСветовой индикатор работы\r\nТри режима работы: вентилятор (холодный воздух), теплый воздух (1000 Вт), горячий воздух (2000 Вт)\r\nРегулируемый термостат\r\nРегулируемое направление потока воздуха\r\nЗащита от перегрева\r\nПроизводитель: Россия\r\n', 2345, 3),
(11, 'Обогреватель масляный 11-секционный с вентилятором D25F-11', 'uploads/d25f_11.jpg', 'Параметры\r\nМаксимальная мощность 2500 Вт\r\nКоличество секций 11\r\nМощность вентилятора 600 Вт\r\nОписание\r\nБыстрый и бесшумный нагрев\r\nТри степени нагрева\r\nМеханическое управление\r\nВентилятор для улучшения теплообмена\r\nСветовой индикатор работы\r\nРегулируемый термостат\r\nКолесики и ручка для удобного перемещения\r\nОтсек для хранения шнура\r\nЗащита от перегрева\r\nЦвет: серый', 2300, 3),
(12, 'Пылесос 2000 Вт DELTA LUX DL-0830 красный с черным', 'uploads/dl_0830_red_with_black.jpg', 'Параметры\r\nНоминальная мощность 2000 Вт\r\nМощность всасывания 350 Вт\r\nОбъём контейнера для сбора пыли 3 л\r\nУровень шума 85 дБ\r\nДлина сетевого шнура 5 м\r\nОписание\r\nСистема «Мультициклон», обеспечивающая эффективную уборку без использования мешка для сбора пыли\r\nМногоразовые моющиеся антистатические фильтры\r\nМногоуровневая система фильтрации\r\nРегулируемая мощность всасывания\r\nРегулятор потока воздуха на ручке\r\nМеталлическая телескопическая труба\r\nВертикальная парковка трубы всасывания на корпусе\r\nУдобная ручка для переноски\r\nАвтоматическое сматывание сетевого шнура\r\nНизкий уровень шума\r\nЗащита от перегрева\r\nЦвет: красный с черным', 2780, 2),
(13, 'Lenovo IdeaPad Miix 320', 'uploads/lenovo_80xf0076ra_images_2025045683.jpg', 'Lenovo IdeaPad Miix 320 — сочетание планшета и ноутбука на базе Windows 10. Это удобное решение для работы и досуга в дороге. Процессор до Intel Atom X5-Z8350 обеспечивает отличное качество графики и высокую вычислительную мощность, открывая перед вами новый уровень возможностей для работы и развлечений. Производительность процессора дополняют 4 ГБ оперативной памяти. Для хранения данных предусмотрено 64 ГБ.\r\n\r\nОтличное качество изображения и широкий угол обзора\r\nПланшет Miix 320 оснащен дисплеем стандарта Full HD (с разрешением 1920x1200 точек), обеспечивающим превосходное качество изображения.\r\n\r\nТехнология Мulti-Touch\r\nПростая интеграция с Windows 10, повышенная точность управления.\r\n\r\nДополнительная съемная клавиатура\r\nЛегко переключайтесь между режимами планшета и ноутбука с помощью съемной клавиатуры.\r\n\r\nПревосходная камера\r\nОсновная камера 5 Мп и фронтальная 2 Мп позволят вам снимать фотографии высокого разрешения и обеспечат отличное качество изображения при видеозвонках.', 25000, 4),
(14, 'Ноутбук Acer Nitro 5 AN515-52 (NH.Q3XEU.051) Shale Black', 'uploads/copy_acer_nh_q3xeu_047_5ca318f0682c2_images_11570507552.jpg', '\r\nПроцессор Шестиядерный Intel Core i7-8750H (2.2 - 4.1 ГГц)\r\nСтрана-производитель товара Китай\r\nДиагональ экрана 15.6" (1920x1080) Full HD\r\nОбъем оперативной памяти 16 ГБ\r\nОперационная система Linux\r\n\r\nКраткие характеристики\r\n \r\nЭкран 15.6” IPS (1920x1080) Full HD, матовый / Intel Core i7-8750H (2.2 - 4.1 ГГц) / RAM 16 ГБ\r\n/ HDD 2 ТБ + SSD 256 ГБ / nVidia GeForce GTX 1060, 6 ГБ\r\n/ без ОД / LAN / Wi-Fi / Bluetooth / веб-камера / Linux / 2.7 кг / черный\r\nПоколение процессора Intel 8-ое Coffee Lake\r\nКлавиатура С подсветкой\r\nЦвет Черный', 25600, 4);
-- --------------------------------------------------------
--
-- Структура таблицы `slide`
--
CREATE TABLE IF NOT EXISTS `slide` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`image` varchar(191) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`header` varchar(191) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`url` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci AUTO_INCREMENT=4 ;
--
-- Дамп данных таблицы `slide`
--
INSERT INTO `slide` (`id`, `image`, `header`, `url`) VALUES
(1, 'uploads/dl_8150k.jpg', 'Кофеварка DELTA LUX DL-8150К рожковая черная\n', '?page=product&id=9'),
(2, 'uploads/vs-9-umnica.jpg', 'Вентилятор настольный ВС-9 Умница', '?page=product&id=1'),
(3, 'uploads/monaco-60-ow-bronze-800_md.jpg', 'Вытяжка кухонная Ventolux MONACO 60 ', '?page=product&id=4');
-- --------------------------------------------------------
--
-- Структура таблицы `user`
--
CREATE TABLE IF NOT EXISTS `user` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`lastname` varchar(191) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`firstname` varchar(191) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`fname` varchar(191) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`phone` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL,
`password` varchar(191) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`email` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL,
`userstatus_id` int(11) unsigned DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `index_foreignkey_user_userstatus` (`userstatus_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci AUTO_INCREMENT=8 ;
--
-- Дамп данных таблицы `user`
--
INSERT INTO `user` (`id`, `lastname`, `firstname`, `fname`, `phone`, `password`, `email`, `userstatus_id`) VALUES
(1, 'Иванов', 'Иван', 'Иванович', '07239428374928', '4dfe6e220d16e7b633cfdd92bcc8050b', 'ivanov@mail.ru', 1),
(3, 'Сидоров', 'Сидор', 'Сидорович', '07438239487', '9cd3acb851a21717cc51c213015eb7a7', 'sidorov@mail.ru', 1),
(5, 'Сергеев', 'Сергей', 'Сергеевич', '0792837498347', '18943b9c5e88aa35c687cce4a36dfb4e', 'sergeev@mail.ru', 2),
(6, 'Петров', 'Петр', 'Петрович', '0792873498374', 'f396c3b74762b1fee69b10abb875139b', 'petrov@mail.ru', 2);
-- --------------------------------------------------------
--
-- Структура таблицы `userstatus`
--
CREATE TABLE IF NOT EXISTS `userstatus` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(191) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci AUTO_INCREMENT=3 ;
--
-- Дамп данных таблицы `userstatus`
--
INSERT INTO `userstatus` (`id`, `name`) VALUES
(1, 'Администратор'),
(2, 'Пользователь');
--
-- Ограничения внешнего ключа сохраненных таблиц
--
--
-- Ограничения внешнего ключа таблицы `cart`