Проекты*

Мобильное приложение Palladium (Цифровой завхоз)

Работа призёра открытой городской научно-практической конференции «Инженеры будущего» по направлению «Инженеры» в секции «Информационные технологии, программирование, прикладная математика, социальный инжиниринг» среди работ учащихся 10–11 классов

Направление работы: Программирование
Авторы работы: ГБОУ Школа № 2122
Предметы: Информатика
Классы: 11 класс
Мероприятия: Открытая городская научно-практическая конференция «Инженеры будущего» по направлению «Инженеры» 2022 года

Актуальность

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

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

Цель

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

Задачи

  1. Обеспечить исправную работу приложения на выбранной образовательной площадке.
  2. Получить опыт во время работы с техническим заданием.
  3. Разработать документ технической поддержки для пользователей приложения.

Оснащение и оборудование, использованное при создании работы

  • Компьютер

Описание

  1. Разработка API

Приложение для сервера реализовано на Java Spring Framework с использованием Firebase SDK.

Spring Framework позволило разрабатывать REST API. REST — это архитектурный стиль взаимодействия приложений в сети.

Spring Framework предоставил богатый набор инструментов, упрощающих разработку REST API: инструменты для маршрутизации запросов, классы-кодеки для преобразования JSON/XML в объекты требуемых типов.

post /login – POST-метод авторизации

post /user/create – создание нового пользователя, то есть его регистрация

get /users – получение списка созданных пользователей

get /user?_id=123 – получение всех данных о пользователе

get /tasks?_place= ost_school _new – получение всех новых заявок Остафьевской школы в виде списка

get /task?_id=1 – получение данных о заявке по ID

post /task/create – создание новой заявки

path /edit/task?_id=1 – изменение данных о заявке по ID

delete /delete/task?_id=1 – удаление заявки по ID

API – это интерфейс взаимодействия внешних систем с внутренними данными, при этом некоторые из них могут быть публичными и не требовать авторизации, некоторые  – требуют общих прав, а некоторые данные и методы API требуют специфической роли. Для этого была настроена авторизация — общие данные, данные, требующие аутентифицированного пользователя, данные, требующие определённых ролей у аутентифицирующего пользователя.

Spring security предоставляет authentication authorization.

Ко всем запросам, требующим авторизации, добавлена аутентификация – заголовок Authentication.

2. Разработка Клиента

Клиент реализовывался с использованием языка Java. Все запросы серверу осуществлялись благодаря библиотеке Retrofit. Данные, полученные с сервера, хранятся локально, чтобы не перегружать сервер постоянными запросами на получение данных. Локальное сохранение данных реализовано с помощью ROOM. Библиотека ROOM предоставляет удобную обёртку для работы с базой данных SQLite.

Всё приложение разделено на трёх пользователей: обычный пользователь, суперпользователь и исполнитель. В зависимости от «должности» приложение будет визуально и функционально отличаться.

Пользователь

Всем учителям и работникам детских садов назначается должность «пользователь.

Суперпользователь

Всем работникам администрации назначается должность «суперпользователь». Суперпользователь может изменять, удалять заявки и назначать им статус и исполнителя. Также можно зарегистрировать нового пользователя.

Исполнитель

В отличие от других пользователей исполнитель не может создать заявку. Исполнителю доступен только просмотр назначенных ему заявок. Он может менять статус назначенной ему заявки.

Заявки

Всем заявкам необходимо установить статус. Статус отвечает за текущее состоянии заявки. Благодаря статусу администрация образовательной площадки может модерировать заявки.

Результаты работы/выводы

Было полностью реализовано и протестировано приложение. Кроме того, после удачного тестирования приложения был успешно развёрнут полноценный запуск приложения на образовательной площадке. На данный момент в приложении зарегистрировано более 50 пользователей, было создано 153 заявки, 118 из которых архивированы и полностью выполнены.

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

Документ с технической поддержкой был полностью реализован и интегрирован в мобильное приложение. Каждый желающий может в любой момент скачать документ или найти нужный пункт внутри приложения. Данный документ поможет работникам образовательной организации в случае фиксирования неисправности.

Перспективы использования результатов работы

Данный проект необходимо модернизировать и поддерживать. Можно определить следующие цели проекта:

  1. портирование приложения на компьютеры;
  2. увеличение производительности сервера;
  3. адаптация приложения для регистрации большего количества образовательных организаций.

В приложении для компьютеров необходимо реализовать удобный экспорт заявок в Excel-таблицу, модерацию большого количества заявок и удобное отслеживание действий всех пользователей.

Необходимо добавить возможность регистрировать другие образовательные организации в приложении. Благодаря добавлению данной функции любая школа совершенно бесплатно сможет пользоваться удобным инструментом для модерации заявок.

Мнение автора

«Я считаю, что проделал большую работу: создал удобное приложение для образовательных организаций, которым будут пользоваться учителя и администрация»