- •Курсовая работа по дисциплине
- •Введение
- •Постановка задачи
- •Обоснование выбора технологий
- •Разработка структуры программы
- •4.1. Общая архитектура клиент-серверного взаимодействия
- •4.2. Структура серверного приложения (Flask)
- •4.3. Система хранения данных
- •4.4. Схема базы данных
- •Разработка ключевых модулей серверной части
- •5.1. Модуль инициализации и конфигурации
- •5.2. Модуль работы с данными клиник и записей (json-слой)
- •5.3. Модуль взаимодействия с базой данных (MySql-слой)
- •5.4. Модуль маршрутизации и обработки запросов (Flask-пути)
- •5.5. Модуль управления сессиями и аутентификацией
- •Сценарии пользователя
- •Заключение
- •Приложение
Заключение
В ходе выполнения курсовой работы была успешно разработана и реализована серверная часть веб-приложения «Медицинский портал для онлайн-записи на приём». Работа продемонстрировала практическое применение современных веб-технологий на Python для создания функционального backend-решения.
Основные достижения и результаты:
1. Реализация полноценного REST-подобного API: Создан набор эндпоинтов, который полностью покрывает потребности клиентской части приложения в данных и операциях. API отличается чёткой структурой ответов и корректной обработкой ошибок.
2. Построение гибридной модели данных: эффективно использованы сильные стороны разных способов хранения: JSON-файлы для простых, редко меняющихся справочников и расписания; реляционная СУБД MySQL для обеспечения целостности, безопасности и аудита операционных данных (пользователи, история, заказы).
3. Внедрение механизмов безопасности: Реализована система аутентификации на основе сессий Flask, контролирующая доступ к приватным функциям. Использование параметризованных SQL-запросов обеспечивает защиту от инъекций. Применение отдельной таблицы-лога (appointments_log) фиксирует все действия пользователей без возможности их изменения.
4. Отработка ключевых бизнес-процессов: Серверная логика корректно обрабатывает такие сценарии, как проверка доступности слота, запрет записи на прошедшее время, атомарное обновление состояния записи и сохранение истории. Реализован модуль корзины и заказов, демонстрирующий работу с составными данными.
5. Создание масштабируемой архитектуры: Чёткое разделение ответственности между модулями (маршрутизация, работа с файлами, работа с БД) позволяет легко добавлять новый функционал. Например, для внедрения системы уведомлений по email или SMS потребуется лишь добавить новый модуль и вызвать его в соответствующих обработчиках.
Технические особенности реализации:
· Применение контекстных менеджеров (with) для гарантированного освобождения ресурсов (файлов, соединений с БД).
· Централизованная обработка исключений при работе с базой данных с логированием ошибок в консоль.
· Генерация тестовых данных «на лету» при первом запуске, что упрощает начальное развертывание.
Разработанная серверная часть является надёжным, безопасным и расширяемым фундаментом для медицинского веб-портала. Она готова к интеграции с более сложной клиентской частью, подключению дополнительных сервисов (платёжные системы, SMS-шлюзы) и развертыванию в реальной производственной среде. Работа подтвердила, что связка Python/Flask/MySQL является эффективным и практичным выбором для быстрой разработки backend-приложений в образовательных и коммерческих целях.
Список литературы
Бирюков, М.А. Лекции по дисциплине «Web-технологии». – СПб.: СПбГУТ, – [Электронный ресурс], [дата обращения – ноябрь 2025 г.].
Oracle Corporation. MySQL 8.0 Reference Manual. — [Электронный ресурс]. — Режим доступа: https://dev.mysql.com/doc/refman/8.0/en/, свободный. — [Дата обращения: ноябрь 2025 г.]
Основы Web - технологий: учеб. пособие / П.Б. Храмцов [и др.]. - М.: Изд-во Интуит.ру “Интернет-Университет Информационных Технологий”, 2013. - 512 с.
Пауэл Томас, А. Справочник программиста / Томас А Пауэл, Д. Уитворт. - М.: АСТ, Мн.: Харвест, 2014. - 384 с.
