Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Записка для Курсовой работы.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.63 Mб
Скачать

4. Реализация

4.1 Логическая структура Web-приложения

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

Логическая структура интернет-магазина представлена в соответствии с рисунком 4.1.1.

Рисунок – 4.1.1 Логическая структура интернет-магазина

Все страницы сайта имеют определённую структуру, представленную в соответствии с рисунком 4.1.2

Рисунок 4.1.2 – Структура страниц интернет-магазина

4.2 Физическая структура Web-приложения

Физическая структура Интернет-ресурса отображает структуру папок и файлов, хранящихся на удаленном сервере. Файлы сайта в сети расположены на файловом сервере (FTP). Доступ к файлам сайта возможет только после ввода пароля, который известен разработчику проекта.

Файлы на сервере расположены по тематическим директориям и имеют определенную структуру, представленную в соответствии с рисунком 3.2.1

Рисунок 4.2.1 – Файловая структура сервера

Каждая директория предназначена для хранения файлов определенного типа, каждый из которых выполняет определенную функцию:

  • файл package.json – содержит перечень всех необходимых для запуска проекта модулей npmjs, установка которых производится командой npm install.

  • файл config.js – содержит различную конфигурационную информацию: url подключения к базе MongoDB, секретную фразу для кодирования сессий, номер порта на котором будет располагаться сервер.

  • файл createDB.js – содержит набор функций, генерирующих контент для сайта в базу данных.

  • файл index.js – основной файл проекта, содержит создание, настройку и запуск сервера, подключение middleware (генерация сессий, подгрузка сессий для запросов, парсинг тела запросов, парсинг куков, фавиконка, отдача статического контента, роутинг запросов).

  • файл error.js – обработка ошибок для отображения при отладке.

  • файл routes.js – роутинг запросов на конкретные роуты (находятся в папке routes).

  • папка lib – содержит различные модули общего пользования.

  • файл lib/mongoose.js – содержит модуль подключения к базе данных MongoDB.

  • файл lib/session_store.js – содержит модуль генерации хранилища сессий на основе базы данных MongoDB.

  • папка middleware – содержит различные модули, встраиваемые в обработку Express.js.

  • файл middleware/checkAuth.js – содержит модуль проверки авторизации путем считывания сессии из запроса.

  • файл middleware/loadUser.js – содержит модуль загрузки юзера для запроса с помощью механизма сессий.

  • файл middleware/sendHttpError.js – содержит модуль обработки ошибок перед отправкой пользователю.

  • файл middleware/session.js – содержит модуль подключения и конфигурирования сессий на основе базы MongoDB в Express.js.

  • папка models – содержит модели и методы для моделей Mongoose.

  • файл models/category.js – содержит модель Mongoose для категорий товаров.

  • файл models/goods.js – содержит модель Mongoose для отдельных товаров.

  • файл models/orders.js – содержит модель Mongoose для подтверждённых заказов пользователей.

  • файл models/user.js – содержит модель и методы Mongoose для создания, регистрации и авторизации пользователей.

  • папка node_modules – содержит установленные npmjs модули необходимые для работы нашего сервера.

  • папка public – содержит файлы, которые будут непосредственно загружаться браузером при работе с веб-приложением.

  • папка public/img – содержит изображения, используемые в моем веб-приложении: логотип, изображения категорий и товаров.

  • папка public/template – содержит html файлы для AngularJS модулей, а также index.html файл, содержащий подключение моего модуля myApp и библиотек.

  • файл public/angular.js – библиотека AngularJS.

  • файл public/angular-ui-router.js – модуль роутинга для AngularJS.

  • файл public/app.js – мой модуль myApp на основе библиотеки AngularJS.

  • файл public/bootstrap.css – каскадная таблица стилей для сайта на основе библиотеки Bootstrap.

  • файл public/favicon.ico – фавиконка для сайта.

  • файл public/ jquery-3.2.1.min.js – минифицированная библиотека jQuery.

  • папка routes – содержит роутинги Express.js для запросов пользователей.