УДК 004.42
Елена Сергеевна Неустроева Александр Александрович Качарин
г. Шадринск
Разработка бэкенда на YII2 для программы интеграции базового и дополнительного дошкольного образования с использованием функционала записи звука и
интерактивных компонентов
Статья посвящена проектированию структуры базы данных и методов обработки результатов упражнений для программы «ДеТвоРа» на платформе YII2. Разработка имеет цель развития связной речи у детей дошкольного возраста. База данных необходима для осуществления коммуникации между участниками образовательного процесса (родителями, детьми и учителями), которую осуществляет веб-приложение. Основными составляющими базы данных программы являются: данные личного профиля, «речевые проекты» детей, система достижений.
Ключевые слова: YII2, база данных, запись звука, дошкольное образование, развитие связной речи.
Elena Sergeevna Neustroeva Alexander Alexandrovich Kacharin
Shadrinsk
Development of YII2 backend for the program of integration of basic and additional preschool education using audio recording functionality and interactive components
The article is devoted to the design of the database structure and methods of processing the results of exercises for the "Kids" program on the YII2 platform. The development aims to develop coherent speech in preschool children. The database is necessary for communication between participants of the educational process (parents, children and teachers), which is carried out by a web application. The main components of the program database are: personal profile data, children's «speech projects», achievement system.
Keywords: YII2, database, sound recording, preschool education, development of coherent speech.
Введение. Программа «ДеТвоРа» представляет собой инновационную образовательную платформу, созданную с целью поддержки и развития навыков учащихся. На первый взгляд, пользователь видит яркий и дружелюбный интерфейс, который привлекает внимание и мотивирует к обучению. Однако за этим интерфейсом скрывается глубоко продуманная система по управлению данными.
Бэкендная часть приложения «ДеТвоРа» служит основой для всей системы, гарантируя ее безупречное функционирование. Это центральный элемент, от которого зависит не только стабильность работы платформы, но и безопасность информации обучающихся, а также возможность масштабирования приложения. Роль бэкенда в «ДеТвоРа» крайне велика: он не только обеспечивает технический аспект, но и гарантирует доступность учебных ресурсов, заданий и игровых элементов для учащихся вне зависимости от времени и местоположения.
Актуальность исследуемой проблемы. Современное образование активно адаптируется к быстро меняющемуся миру, в котором технологии играют ключевую роль. В этом контексте бэкенд-решения становятся фундаментом для стабильной и надежной работы образовательных платформ.
Важно отметить, что образование не ограничивается только текстовыми и графическими материалами. Запись и воспроизведение звука являются ключевыми аспектами, особенно в онлайн-курсах и приложениях для изучения языков. Именно поэтому в проекте требуется использования технологии записи звука прямо из браузера, что сделает процесс обучения максимально интерактивным и удобным для пользователя.
Практическая значимость. Для достижения цели нашего исследования, мы сосредоточились на разработке «ДеТвоРа», инновационной образовательной платформы,
способной повышать мотивацию и успеваемость учащихся благодаря интерактивным методам обучения и продвинутой аналитике данных. Важным аспектом является обеспечение высокого уровня конфиденциальности и безопасности пользовательских данных, достигаемое через продуманную бэкендную архитектуру. Гибкость и адаптируемость системы обеспечиваются за счет эффективно спроектированной структуры базы данных, что позволяет программе легко масштабироваться и адаптироваться к различным образовательным потребностям. Многофункциональный интерфейс делает образовательный процесс более доступным для всех участников, в то время как интеграция современных технологий, таких как запись звука напрямую из браузера, обогащает обучение, делая его более интерактивным. Таким образом, «ДеТвоРа» является важным шагом в развитии образовательных технологий, отвечая на современные вызовы и потребности в области обучения.
Научная новизна. Требования к основным функциональные особенности проекта:
1. Профили и роли: Разные профили для учеников, родителей и учителей.
2. Регистрация: Регистрация родителей и добавление профилей детей.
3. Административная панель: Управление системой и добавление учителей.
4. Хранение результатов: Персональные разделы для результатов учеников с доступом для учителей.
5. Интерфейсы: Отдельные интерфейсы для учителей и учеников.
6. Чат: Коммуникация между участниками.
7. Управление пользователями: Административные функции по управлению профилями.
Основываясь на вышеуказанных функциональных особенностях, необходима грамотная спроектированная структура БД [3]. Это позволит эффективно организовать данные о пользователях, их ролях, результатах.
Исследовательская часть.
Исследовательская часть нашего проекта «ДеТвоРа» фокусируется на разработке структуры базы данных и методов обработки результатов. Созданная схема базы данных обеспечивает масштабируемость и эффективное управление данными, с центральной таблицей «user» и специализированными таблицами, такими как «games» и «chats». Это позволяет централизованно управлять информацией и отслеживать достижения пользователей.
Ключевым элементом является класс GameResultForm, обрабатывающий результаты игр и валидирующий данные, в то время как контроллер GameController управляет игровым процессом и взаимодействием пользователя. Применение принципов Yii2, включая Active Record и MVC-архитектуру, позволяет нам эффективно работать с базой данных и четко разделять логику, представление и управление данными.
Таким образом, разработанная структура и методы обработки результатов играют ключевую роль в обеспечении масштабируемости и безопасности нашей образовательной платформы, способствуя улучшению качества дошкольного образования.
Материалы и методы исследования. Исходя из списка требований была разработана схема базы данных (рисунок 1), которая позволяет проекту расширяться без каких-либо проблем и увеличивать объем информации, с помощью изменения таблиц и связей.
1. "user": Центральная таблица. Хранит данные пользователей и связана с большинством других таблиц.
2. "games": Информация об играх. Связана с "game_images" (изображения игр) и "game_types" (типы игр).
3. Игровой процесс: Включает "completed_games", "completed_levels", "completed_games_additional_fields", и "completed_games_audio_paths". Фиксируют достижения и элементы игр.
4. Коммуникации: "chats" и "messages" отвечают за чаты и обмен сообщениями между пользователями.
5. Профили и связи: "profile" содержит расширенные данные пользователей, "teacher_student_relation" - отношения между учителями и студентами.
6. Дополнительно: "levels", "migration", "auth_rule" и связанные таблицы управляют уровнями игр, версиями базы и правами доступа.
Таблицы объединены разными отношениями, обеспечивая гибкость и многогранность структуры.
Все эти таблицы соединены различными типами отношений, включая один ко многим и многие ко многим. Например, один пользователь может иметь множество завершенных уровней и игр, а одна игра может быть сыграна многими пользователями.
Помимо структуры и безопасности баз данных, инструменты и методы их обработки играют важную роль в успешной реализации проектов. Один из основных принципов Yii2 -это активная запись (Active Record) [1], позволяющая абстрагироваться от конкретных SQL-запросов и работать с базой данных на более высоком уровне. Стоит ещё отметить, что Yii2 работает по принципу MVC, который работает по принципу модель, представление и контроллер [2].
После тщательного анализа функциональных требований и учета всех особенностей взаимодействия, перейдем к технической реализации. Основная логика приложения заключается в обработке и сохранении результатов игр учеников. Рассмотрим ключевые моменты, которые отвечают за эту функциональность (рис. 1).
Рис. .1 Структура базы данных
Основные аспекты класса GameResultForm и его функциональность:
1. Свойства:
— user_id, game_id: Идентификаторы игрока и игры.
— audio, image: Медиафайлы от пользователя.
— select, checkbox: Доп. поля формы.
— customErrors: Хранение ошибок.
2. rules(): Правила валидации.
3. uploadAndSave():
— Проверка существующего результата игры.
— Верификация возможности обновления результата.
— Валидация данных.
— Сохранение медиа.
— Запись данных в БД.
4. ensureDirectoryExists($path): Управление директориями.
5. validateBase64Audio($attribute, $params): Валидация аудио в Base64.
Логика класса: GameResultForm занимается обработкой результатов игры, включая валидацию, сохранение медиафайлов и обновление данных в базе.
Контроллер GameController и его методы:
1. actionPlay(int $gameId):
— Назначение: Интерфейс игры.
— Алгоритм: Инициализация модели игры, запрос информации об игре, проверка завершенных сессий, определение связанных игр, генерация ссылок на игры, поиск изображений, отображение вида.
2. Вспомогательные методы:
— Назначение: Логика для связанных игр и генерация ссылок.
— Методы: getNextGameInfo(), getPreviousGameInfo(), generateNextGameLink(), generatePreviousGameLink().
3. actionSubmitResult():
— Назначение: Обработка результатов.
— Алгоритм: Обработка формы, валидация, сохранение в базе, ответ в JSON.
4. actionRateGame():
— Назначение: Оценка игры.
— Алгоритм: Обработка данных оценки, обновление в базе, ответ в JSON.
5. actionSaveComment():
— Назначение: Комментарии к игре.
— Алгоритм: Обработка комментария, сохранение в базе, ответ в JSON.
В целом, контроллер GameController обеспечивает управление играми, обработку результатов, комментариев и оценок пользователей. Представляет собой комплексный контроллер, инкапсулирующий логику управления игровыми сессиями в веб-приложении, обеспечивая взаимодействие пользователя с играми, обработку результатов и интерактивные функции, такие как оценка и комментирование.
Заключение. Таким образом, спроектированная структуры базы данных и разработанные методы обработки результатов упражнений используют современные технологии для улучшения качества образования. Благодаря глубокой проработке бэкенд-части, платформа обеспечивает доступность и безопасность учебных материалов, а также масштабируемость и возможность постоянного обновления контента для приложения.
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1. Булах, Е. Средства доступа к базам данных в Internet и свободно доступная СУБД POSTGRES95. -URL: http://www.ict.nsc.ru/win/docs/db/postgres /23.html (дата обращения: 30.10.2023). - Текст : электронный.
2. Модель-Представление-Контроллер // Википедия : свобод. энцикл. - URL: https://ru.wikipedia.org/wiki/Model-View-Controller (дата обращения: 30.10.2023).
3. Стружкин, Н.П. Базы данных: проектирование. Практикум : учеб. пособие для акад. бакалавриата / Н.П. Стружкин, В.В. Годин. - Москва : Юрайт, 2019. - 291 с. - Текст : непосредственный.
4. Шаблон проектирования MVC. - URL: https://webformyself.com/shablon-proektirovaniya-mvc. -Текст : электронный.
5. Полное руководство по Yii 2.0. - URL: http://www.yiiframework.com/ (дата обращения: 30.10.2023).
- Текст : электронный.
6. Bachle, M. Ruby on Rails / Michael Bachle, Paul Kirchberg. - Text : electronic // IEEE Software. - 2007.
- Vol. 24, Iss. 6. - URL: http://ieeexplore.ieee.org/abstract/document/4375251.
7. ULLman, L. PHP and MySQL for Dynamic Web Sites / L. Ullman. - California, 2012. - Text : direct.
8. Meloni, J.C. Sams Teach Yourself PHP, MySQL & JavaScript All in One / Julie C. Meloni. - Sixth Edition. - [No city] : Pearson Education, Inc., 2018. - Text : direct.
9. Thomas, D. Flexible development of web applications in the Rails environment / D. Thomas, D. H. Hans-son. - Hanover, MA, USA, 2016. - Text : direct.
10. Yadgarov, T.G. Development of an information and logistics system "InfLog-CredSys" for managing big data in the yii framework for use in a credit training system / T.G. Yadgarov, A.X. Aliqulov. - Text : direct // Applications, Trends and Opportunities ICISCT 2019 : International Conference on information Science and Communication Technologies. - Tashkent : Tashkent University of information Technologies Named after Muhammad Al-Khwarazmi, 2019.
СВЕДЕНИЯ ОБ АВТОРАХ:
Е.С. Неустроева, ассистент кафедры коррекционной педагогики и специальной психологии, ФГБОУ ВО «Шадринский государственный педагогический университет», г. Шадринск, Россия, e-mail: [email protected].
А.А. Качарин, магистрант института информационных технологий, точных и естественных наук ФГБОУ ВО «Шадринский государственный педагогический университет», г. Шадринск, Россия, e-mail: [email protected].
INFORMATION ABOUT THE AUTHORS:
E.S. Neustroeva, Instructor, Department of Preschool and Social Education, Shadrinsk State Pedagogical University, Shadrinsk, Russia, e-mail: [email protected].
A.A. Kacharin, Master's student at the Institute of Information Technologies, Exact and Natural Sciences, Shadrinsk State Pedagogical University, Shadrinsk, Russia, e-mail: [email protected].