- •Аннотация
- •Содержание
- •Введение
- •Анализ предметной области и постановка задачи
- •Цель и направленность разрабатываемого веб-ресурса
- •Обзор аналогичных веб-ресурсов
- •Основные задачи разрабатываемого ресурса
- •Диаграмма прецедентов
- •Техническое задание на разработку веб-ресурса
- •Общие сведения
- •Назначение и цели создания веб-ресурса
- •Требования к веб-ресурсу
- •Источники разработки
- •Обоснование выбора технологий разработки
- •Описание средств для разработки клиентской части
- •Выбор языка программирования для разработки серверной части
- •Скорость разработки
- •Производительность
- •Безопасность
- •Масштабируемость
- •Популярность
- •Сравнительный анализ систем управления базами данных
- •Разработка веб-ресурса
- •Проектирование и разработка бд
- •Информационное и даталогическое проектирование
- •Физическое проектирование
- •Разработка базы данных
- •Разработка дизайна сайта
- •Разработка клиентской и серверной части веб-приложения
- •Архитектура веб-приложения
- •Логическая структура проекта
- •Особенности верстки проекта
- •Тестирование веб-ресурса
- •Заключение
- •Список использованных источников
- •Приложение а
Разработка клиентской и серверной части веб-приложения
Архитектура веб-приложения
Разрабатываемый сервис будет создан с использованием клиент-серверной архитектуры. Такой выбор был сделан, поскольку у этой архитектуры есть ряд преимуществ.:
Отсутствие необходимости дублировать код серверной части в клиентских программах;
Выполнение всех вычислений я на сервере, что позволяет снизить требования к клиентским устройствам;
Хранение всех данных на сервере, который защищён гораздо лучше большинства клиентских устройств;
Организация контроля доступа гораздо проще реализовать на сервере.
Взаимодействие между клиентской и серверной частями будет осуществляться с помощью 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 — Код серверной части для функции выставления лайков
Логическая структура проекта
Рассмотрим логическую структуру проекта и определим назначение каждого ее элемента. Структура проекта представлена на рисунке 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.
