Добавил:
при поддержке музыки группы Anacondaz Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
диплом / ВКР диплом.docx
Скачиваний:
34
Добавлен:
18.07.2024
Размер:
10.15 Mб
Скачать
    1. Разработка клиентской и серверной части веб-приложения

      1. Архитектура веб-приложения

Разрабатываемый сервис будет создан с использованием клиент-серверной архитектуры. Такой выбор был сделан, поскольку у этой архитектуры есть ряд преимуществ.:

  • Отсутствие необходимости дублировать код серверной части в клиентских программах;

  • Выполнение всех вычислений я на сервере, что позволяет снизить требования к клиентским устройствам;

  • Хранение всех данных на сервере, который защищён гораздо лучше большинства клиентских устройств;

  • Организация контроля доступа гораздо проще реализовать на сервере.

Взаимодействие между клиентской и серверной частями будет осуществляться с помощью REST API.

REST API (Representational State Transfer Application Programming Interface)а— это архитектурный стиль, который используется для создания веб-сервисов на основе протокола HTTP. REST API позволяет работать с удалёнными ресурсами, такими как базы данных, с использованием стандартных HTTP-методов.

Основная идея REST заключается в том, что веб-ресурсы представлены в виде уникальных URL-адресов, и клиенты могут выполнять операции над этими ресурсами, используя стандартные HTTP-методы. Схема работы REST API представлена на рисунке 3.15.

Рисунок 3.15 — Схема работы REST API

Клиент получает ответ от сервера в формате JSON (JavaScript Object Notation). Это текстовый формат, который используется для обмена данными. В нём данные организованы в виде пар «ключ-значение» или набора упорядоченных значений. В качестве значений в JSON могут выступать записи (набор пар «ключ-значение»), числа, строки, массивы или логические значения.

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

Рисунок 3.16 — Код клиентской части для функции выставления лаков

Рисунок 3.17 — Код серверной части для функции выставления лайков

      1. Логическая структура проекта

Рассмотрим логическую структуру проекта и определим назначение каждого ее элемента. Структура проекта представлена на рисунке 3.18.

Рисунок 3.18 — Логическая структура проекта

В папке static есть несколько подпапок:

  • В подпапках css и js хранятся файлы используемых библиотек;

  • В подпапке docx находятся PDF-документы «Условия использования сайта» и «Политика конфиденциальности». Они доступны к просмотру по ссылкам в нижней части сайта;

  • Подпапка img содержит изображения (любых форматов), которые используются на сайте.

В папке templates находятся HTML-файлы с исходным кодом всех страниц сайта:

  • Autharizatio.html – код страницы авторизации;

  • CreateTest.html – код страницы конструктора тестов;

  • Home.html – код главной страницы сайта;

  • HomeProfile.html – код страницы личного кабинета пользователя;

  • Registration.html – код страницы регистрации;

  • ShowTest.html – код страницы прохождения теста;

Далее находятся файл базы данных database.sql и Python-файл, содержащий код серверной части — server.py.

Соседние файлы в папке диплом