Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторные работы. Краева / Вебтехнологии_Курсовая_Яковлев.docx
Скачиваний:
0
Добавлен:
02.01.2026
Размер:
800.32 Кб
Скачать

МИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ, СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ

«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М.А. БОНЧ-БРУЕВИЧА» (СПбГУТ)

ФАКУЛЬТЕТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ И ПРОГРАММНОЙ ИНЖЕНЕРИИ (ИТПИ)

КАФЕДРА ПРОГРАММНОЙ ИНЖЕНЕРИИ И ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ (ПИ И ВТ)

Курсовая работа по дисциплине

«Web-технологии»

на тему: «Разработка серверной части веб-приложения

“Медицинский портал”

Выполнил

студент группы ИКПИ-32

Яковлев М. А.

___________________

Проверила

и.о. заведующего кафедрой, старший преподаватель кафедры ПИиВТ

Краева Е. В.

___________________

г. Санкт-Петербург,

Оглавление

Введение 3

Постановка задачи 3

Обоснование выбора технологий 5

Разработка структуры программы 7

4.1. Общая архитектура клиент-серверного взаимодействия 7

4.2. Структура серверного приложения (Flask) 7

4.3. Система хранения данных 8

4.4. Схема базы данных 9

Разработка ключевых модулей серверной части 10

5.1. Модуль инициализации и конфигурации 10

5.2. Модуль работы с данными клиник и записей (JSON-слой) 10

5.3. Модуль взаимодействия с базой данных (MySQL-слой) 10

5.4. Модуль маршрутизации и обработки запросов (Flask-пути) 11

5.5. Модуль управления сессиями и аутентификацией 11

Сценарии пользователя 13

Заключение 16

Список литературы 17

Приложение 18

Введение

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

Веб-приложение «Медицинский портал», разработанное в рамках данной курсовой работы, представляет собой комплексное решение для организации онлайн-записи пациентов в медицинские учреждения. Платформа объединяет в себе функции каталога клиник и услуг, системы бронирования временных слотов, личного кабинета пациента.

Данная курсовая работа сосредоточена на проектировании и реализации серверной части (backend) данного веб-приложения. Сервер выступает в роли центрального звена системы, отвечая за выполнение критически важных функций: хранение и управление данными (информация о клиниках, врачах, расписании, пользователях и заказах), обеспечение безопасности и аутентификации пользователей, обработку бизнес-логики (проверка доступности слотов, оформление записей) и предоставление интерфейса прикладного программирования (API) для клиентской части (frontend).

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

Постановка задачи

Целью работы является разработка серверной части веб-приложения «Медицинский портал», обеспечивающей работу системы онлайн-записи на приём к врачу. Сервер должен быть реализован на языке Python с использованием фреймворка Flask и взаимодействовать с базой данных MySQL.

Основные задачи серверной части:

  1. Организация хранения данных:

    1. Создание и поддержка структурированного каталога медицинских клиник с описанием услуг и цен.

    2. Генерация и управление расписанием доступных слотов для записи на несколько дней вперёд.

    3. Регистрация и безопасное хранение учётных данных пользователей.

    4. Фиксация истории всех совершённых записей на приём.

    5. Обработка и сохранение заказов на медицинские услуги из корзины.

  2. Реализация бизнес-логики приложения:

    1. Проверка авторизации пользователя при попытке совершить действие.

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

    3. Запрет записи на прошедшие даты и время.

    4. Гарантия целостности данных при параллельных операциях (отметка о занятости слота).

  3. 3. Предоставление API для клиентской части:

    1. Разработка набора REST-подобных конечных точек (endpoints), возвращающих данные в формате JSON.

    2. Обеспечение кросс-доменных запросов (CORS) для интеграции с фронтендом.

    3. Чёткое разделение ответов на успешные операции и ошибки с соответствующими HTTP-кодами.

  4. Обеспечение безопасности:

    1. Управление пользовательскими сессиями для поддержания состояния авторизации.

    2. Хранение паролей в базе данных (в текущей учебной реализации — в открытом виде, с рекомендациями по хешированию).

    3. Защита от основных уязвимостей (например, косвенная защита от SQL-инъекций через параметризованные запросы в pymysql).

  5. Создание модели данных.

Требуемый технологический стек для серверной части:

· Язык программирования: Python 3.x

· Веб-фреймворк: Flask

· База данных: MySQL 8.0

· Библиотеки: Flask-CORS, pymysql

· Среда запуска: Встроенный WSGI-сервер Flask (для разработки) или производственные решения (Gunicorn, uWSGI).

Второй участник проекта отвечает за:

· Разработку клиентской части приложения

· Создание HTML/CSS шаблонов и пользовательского интерфейса

· Реализацию клиентской логики на JavaScript

· Адаптивный дизайн

· Интеграцию фронтенда с бэкенд-API

Пояснительная записка должна содержать:

· Постановку задачи,

· Обоснование выбранных технологий,

· Разработку архитектуры системы,

· Разработку отдельных модулей,

· Инструкцию по развертыванию и использованию, тестирования,

· Заключение,

· Список литературы,

· Приложения с исходным кодом.