В статье автор разрабатывает приложение, решающее проблему малой осведомленности студенческих групп и позволяющее частично автоматизировать работу старост.
Ключевые слова: расписание, рассылка информации, Firebase, Android-приложение, система очередей
Сегодня существует огромное количество приложений и сервисов для структуризации информации и автоматизации ее рассылки из различных областей жизни человека. Образовательная сфера не должна являться исключением. Для того, чтобы уменьшить время, которое студенты тратят на рассылку информации, необходимо приложение-помощник для информационных рассылок в учебных группах.
По итогам опроса студентов и старост учебных групп, были выявлены 3 проблемы.
1) Трата большого количества времени на рассылку информации
2) Потеря важных материалов и слабая осведомленность студентов о событиях вуза
3) Путаница в порядке сдачи работ, расходование времени на составление списка
После проведения анализа существующих систем, которые использовались для решения проблем, было принято решение о разработке собственного приложения. Причиной этому является ряд недостатков других приложений: отсутствие необходимых функций, сложный, неудобный интерфейс, разделение функционала на несколько приложений.
После анализа были разработаны технические требования к системе. Приложение состоит из 2 частей: программный комплекс управления информационной рассылкой и очередями для старост групп и информационно-справочная система, предназначенная для студентов. Основной функционал представлен ниже:
− Рассылка информации для учебной группы
− Управление очередями сдачи работ
− Ведение новостной ленты
− Хранение файлов и данных для учебы
− Актуальное расписание с сайта ВУЗа
Стоит рассмотреть основной стек технологий, использованных в приложении. Проект был написан на языке Java для платформы Android. Для хранения новостной ленты, учебных файлов, информации об очередях и пользователях используется сервис под названием Firebase, предоставляемый компанией Google на бесплатной основе.
При открытии приложения пользователь в первую очередь видит ленту новостей с возможностью поиска по темам и добавлением в избранное. Ниже представлен пример новостей (рис. 1). Текст сгенерирован с помощью системы Яндекс.Реферат для демонстрации возможностей приложения.
Рис. 1. Вкладка новостей
Старостам всего лишь нужно создать рассылку и выбрать в какой раздел отправится информация, а студентам придет оповещение. Текст рассылок хранится в базе данных (класс управления Firebase Database), а все файлы загружаются в базу файлов (класс управления Firebase Storage). Обработчик (класс ChildEventListener) в приложении студента срабатывает при изменении базы данных и отправляет оповещение о новости.
Также учащиеся смогут заранее составить список и не тратить на это время на паре, выясняя, кто за кем идет. В ленте очередей (рис. 2) отображаются преподаватели, принимающие задания, период сдачи, а также учащиеся, которые собираются сдавать работы.
Рис. 2. Вкладка очередей
При нажатии на кнопку “очередь” пользователь может увидеть всю очередь и свое место в ней. Данные загружаются из Firebase Database.
Была добавлена возможность просмотра расписания (рис. 3), чтобы пользователям не нужно было переключаться между приложениями, а вся нужная информация хранилась в одном единственном приложении. Она реализована следующим образом: раз в сутки скачивается файл с расширением XLS, где находится расписание всех групп, и после обработки через парсер, синтаксический анализатор информации, выдающий ее в заданном формате, загружает в базу данных расписание занятий.
Рис. 3. Вкладка расписания
Процесс аутентификации и регистрации происходит с помощью библиотеки Firebase Authentication. Она производит хеширование учетных данных (электронной почты и пароля), что позволяет не беспокоиться о безопасности данных. Также библиотека хранит на устройстве собственный токен OAuth, для автоматической аутентификации пользователя при каждом включении приложения.
Литература:
1. Documentation. — Текст: электронный // Firebase: [сайт]. — URL: https://firebase.google.com/docs (дата обращения: 20.12.2020).
2. Package Index. — Текст: электронный // Firebase: [сайт]. — URL: https://firebase.google.com/docs/reference/android/packages (дата обращения: 20.12.2020).
3. Documentation. — Текст: электронный // Android Developers: [сайт]. — URL: https://developer.android.com/docs (дата обращения: 18.12.2020).