Разработка сайта по заказу товаров и продуктов

Заказать уникальную курсовую работу
Тип работы: Курсовая работа
Предмет: Веб-программирование
  • 36 36 страниц
  • 5 + 5 источников
  • Добавлена 06.07.2022
1 496 руб.
  • Содержание
  • Часть работы
  • Список литературы
  • Вопросы/Ответы
СОДЕРЖАНИЕ
ВВЕДЕНИЕ 3
1. ОПИСАНИЕ ИСПОЛЬЗУЕМЫХ ТЕХНОЛОГИЙ 5
2. АДМИНИСТРИРОВАНИЕ БАЗЫ ДАННЫХ 9
3. ПРОЕКТИРОВАНИЕ КЛИЕНТСКОГО ПРИЛОЖЕНИЯ 12
4. РАЗРАБОТКА ФУНКЦИОНАЛА КЛИЕНТСКОГО ПРИЛОЖЕНИЯ 17
ЗАКЛЮЧЕНИЕ 28
СПИСОК ЛИТЕРАТУРЫ 29
ПРИЛОЖЕНИЕ 30
Фрагмент для ознакомления

Достигнута конечная цель проекта – разработан интернет-магазин музыкальных инструментов PerfecTone.СПИСОК ЛИТЕРАТУРЫRupak Nepali. OpenCart Theme and Module Development. — 2015. — С. 208. — ISBN 978-1-78398-768-9.КристианДари, ЭмилианБаланеску. PHP и MySQL: созданиеинтернет-магазина = Beginning PHP and MySQL E-Commerce: From Novice to Professional. — М.: «Вильямс», 2010. — ISBN 978-5-8459-1602-0.Кузнецов Максим, Симдянов Игорь. PHP. Практика создания Web-сайтов. — 2-е изд. перераб. и доп. — СПб.: «БХВ-Петербург», 2008. — С. 1264. — ISBN 978-5-9775-0203-0.Ульман,Ларри. РНР и MySQL: создание интернет-магазинов. — 2-е изд.. — СПб., 2015. — С. 544. — ISBN 978-5-8459-1939-7.В. Васвани. MySQL: использование и администрирование = MySQLDatabaseUsage & Administration. — М.: «Питер», 2011. — 368 с. — ISBN 978-5-459-00264-5.ПРИЛОЖЕНИЕРеализация архитектурного паттерна MVCв блоке attributeраздела catalog.View: CSS-фреймворкBootstrap, благодаря которому дизайн имеет настоящий вид;Библиотека jQuery, с помощью которой реализована JavaScript-интерактивность;HTML-шаблон twig:{{ header }}{{ column_left }}

{{ heading_title }}

{{ text_list }}
{{ list }}
<script type="text/javascript"><!--$('#attribute').on('click', 'thead a, .pagination a', function(e) {e.preventDefault(); $('#attribute').load(this.href);});//--></script>{{ footer }}Изображения каталогов.Controller:В качестве демонстрации приведен отрывок одного класса из attribute, поскольку код слишком длинный.class Attribute extends \Opencart\System\Engine\Controller {public function index(): void {$this->load->language('catalog/attribute');$this->document->setTitle($this->language->get('heading_title'));$url = '';if (isset($this->request->get['sort'])) {$url .= '&sort=' . $this->request->get['sort'];}if (isset($this->request->get['order'])) {$url .= '&order=' . $this->request->get['order'];}if (isset($this->request->get['page'])) {$url .= '&page=' . $this->request->get['page'];}$data['breadcrumbs'] = [];$data['breadcrumbs'][] = ['text' => $this->language->get('text_home'),'href' => $this->url->link('common/dashboard', 'user_token=' . $this->session->data['user_token'])];$data['breadcrumbs'][] = ['text' => $this->language->get('heading_title'),'href' => $this->url->link('catalog/attribute', 'user_token=' . $this->session->data['user_token'] . $url)];$data['add'] = $this->url->link('catalog/attribute|form', 'user_token=' . $this->session->data['user_token'] . $url);$data['delete'] = $this->url->link('catalog/attribute|delete', 'user_token=' . $this->session->data['user_token']);$data['list'] = $this->getList();$data['user_token'] = $this->session->data['user_token'];$data['header'] = $this->load->controller('common/header');$data['column_left'] = $this->load->controller('common/column_left');$data['footer'] = $this->load->controller('common/footer');$this->response->setOutput($this->load->view('catalog/attribute', $data));}Model:db->query("INSERT INTO `" . DB_PREFIX . "attribute` SET `attribute_group_id` = '" . (int)$data['attribute_group_id'] . "', `sort_order` = '" . (int)$data['sort_order'] . "'");$attribute_id = $this->db->getLastId();foreach ($data['attribute_description'] as $language_id => $value) {$this->db->query("INSERT INTO `" . DB_PREFIX . "attribute_description` SET `attribute_id` = '" . (int)$attribute_id . "', `language_id` = '" . (int)$language_id . "', `name` = '" . $this->db->escape($value['name']) . "'");}return $attribute_id;}public function editAttribute(int $attribute_id, array $data): void {$this->db->query("UPDATE `" . DB_PREFIX . "attribute` SET `attribute_group_id` = '" . (int)$data['attribute_group_id'] . "', `sort_order` = '" . (int)$data['sort_order'] . "' WHERE `attribute_id` = '" . (int)$attribute_id . "'");$this->db->query("DELETE FROM `" . DB_PREFIX . "attribute_description` WHERE `attribute_id` = '" . (int)$attribute_id . "'");foreach ($data['attribute_description'] as $language_id => $value) {$this->db->query("INSERT INTO `" . DB_PREFIX . "attribute_description` SET `attribute_id` = '" . (int)$attribute_id . "', `language_id` = '" . (int)$language_id . "', `name` = '" . $this->db->escape($value['name']) . "'");}}public function deleteAttribute(int $attribute_id): void {$this->db->query("DELETE FROM `" . DB_PREFIX . "attribute` WHERE `attribute_id` = '" . (int)$attribute_id . "'");$this->db->query("DELETE FROM `" . DB_PREFIX . "attribute_description` WHERE `attribute_id` = '" . (int)$attribute_id . "'");}public function getAttribute(int $attribute_id): array {$query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "attribute` a LEFT JOIN `" . DB_PREFIX . "attribute_description` ad ON (a.`attribute_id` = ad.`attribute_id`) WHERE a.`attribute_id` = '" . (int)$attribute_id . "' AND ad.`language_id` = '" . (int)$this->config->get('config_language_id') . "'");return $query->row;}public function getAttributes(array $data = []): array {$sql = "SELECT *, (SELECT agd.`name` FROM `" . DB_PREFIX . "attribute_group_description` agd WHERE agd.`attribute_group_id` = a.`attribute_group_id` AND agd.`language_id` = '" . (int)$this->config->get('config_language_id') . "') AS attribute_group FROM `" . DB_PREFIX . "attribute` a LEFT JOIN `" . DB_PREFIX . "attribute_description` ad ON (a.`attribute_id` = ad.`attribute_id`) WHERE ad.`language_id` = '" . (int)$this->config->get('config_language_id') . "'";if (!empty($data['filter_name'])) {$sql .= " AND ad.`name` LIKE '" . $this->db->escape((string)$data['filter_name'] . '%') . "'";}if (!empty($data['filter_attribute_group_id'])) {$sql .= " AND a.`attribute_group_id` = '" . (int)$data['filter_attribute_group_id'] . "'";}$sort_data = ['ad.name','attribute_group','a.sort_order'];if (isset($data['sort']) && in_array($data['sort'], $sort_data)) {$sql .= " ORDER BY " . $data['sort'];} else {$sql .= " ORDER BY `attribute_group`, ad.`name`";}if (isset($data['order']) && ($data['order'] == 'DESC')) {$sql .= " DESC";} else {$sql .= " ASC";}if (isset($data['start']) || isset($data['limit'])) {if ($data['start'] < 0) {$data['start'] = 0;}if ($data['limit'] < 1) {$data['limit'] = 20;}$sql .= " LIMIT " . (int)$data['start'] . "," . (int)$data['limit'];}$query = $this->db->query($sql);return $query->rows;}public function getDescriptions(int $attribute_id): array {$attribute_data = [];$query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "attribute_description` WHERE `attribute_id` = '" . (int)$attribute_id . "'");foreach ($query->rows as $result) {$attribute_data[$result['language_id']] = ['name' => $result['name']];}return $attribute_data;}public function getTotalAttributes(): int {$query = $this->db->query("SELECT COUNT(*) AS `total` FROM `" . DB_PREFIX . "attribute`");return (int)$query->row['total'];}public function getTotalAttributesByAttributeGroupId(int $attribute_group_id): int {$query = $this->db->query("SELECT COUNT(*) AS `total` FROM `" . DB_PREFIX . "attribute` WHERE `attribute_group_id` = '" . (int)$attribute_group_id . "'");return (int)$query->row['total'];}}

СПИСОК ЛИТЕРАТУРЫ
1. Rupak Nepali. OpenCart Theme and Module Development. — 2015. — С. 208. — ISBN 978-1-78398-768-9.
2. Кристиан Дари, Эмилиан Баланеску. PHP и MySQL: создание интернет-магазина = Beginning PHP and MySQL E-Commerce: From Novice to Professional. — М.: «Вильямс», 2010. — ISBN 978-5-8459-1602-0.
3. Кузнецов Максим, Симдянов Игорь. PHP. Практика создания Web-сайтов. — 2-е изд. перераб. и доп. — СПб.: «БХВ-Петербург», 2008. — С. 1264. — ISBN 978-5-9775-0203-0.
4. Ульман,Ларри. РНР и MySQL: создание интернет-магазинов. — 2-е изд.. — СПб., 2015. — С. 544. — ISBN 978-5-8459-1939-7.
5. В. Васвани. MySQL: использование и администрирование = MySQL Database Usage & Administration. — М.: «Питер», 2011. — 368 с. — ISBN 978-5-459-00264-5.

Вопрос-ответ:

Какие технологии будут использоваться при разработке сайта?

Для разработки сайта по заказу товаров и продуктов будут использоваться различные технологии, включая HTML, CSS, JavaScript, PHP и базы данных MySQL.

Как будет осуществляться администрирование базы данных?

Администрирование базы данных будет осуществляться с помощью специального интерфейса, который позволяет добавлять, изменять и удалять данные, а также выполнять другие операции, связанные с управлением информацией о товарах и продуктах.

Как проектируется клиентское приложение?

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

Какой функционал будет разрабатываться для клиентского приложения?

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

Какие источники литературы использовались при разработке проекта?

При разработке проекта были использованы следующие источники литературы: "Rupak Nepali OpenCart Theme and Module Development" (2015) авторы КристианДари ЭмилианБаланеску.

Какие технологии использованы при разработке сайта?

При разработке сайта использовались следующие технологии: HTML, CSS, JavaScript, PHP и MySQL.

Как осуществляется администрирование базы данных?

Администрирование базы данных осуществляется с помощью специального интерфейса, который позволяет управлять данными, добавлять новые записи, редактировать существующие и удалять ненужные.

Как проектируется клиентское приложение?

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

Как разрабатывается функционал клиентского приложения?

Функционал клиентского приложения разрабатывается с использованием современных технологий и программных инструментов. В процессе разработки осуществляется создание интерфейса, реализация функций поиска, добавления товаров в корзину, оформления заказа и др.

Какие источники литературы использовались при разработке проекта?

При разработке проекта использовались следующие источники литературы: "Rupak Nepali OpenCart Theme and Module Development" (2015), КристианДари ЭмилианБаланеску