Проекты*

Социальная сеть Comject

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

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

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

Социальные сети всё больше проникают в нашу жизнь. Для большинства школьников они уже сейчас являются основой времяпрепровождения. В данный момент наблюдается активный рост развития альтернативных социальных сетей. Это связано с тем, что почти все популярные сети (такие как Facebook, Instagram, ВКонтакте и так далее) сегодня представляют собой публикации пользователей с картинкой и подписью, которые можно оценить, прокомментировать и поделиться с друзьями.

Поэтому было принято решение разработать прототип альтернативной социальной сети для школьников «Comject». Эта социальная сеть поможет ученику вести разработку своего личного школьного проекта, а учителю поможет в оценивании работ учеников. В приложении ученик может создавать и публиковать свои проекты, а преподаватель – следить за проделанной работой ученика и давать задания, чтобы он выполнял и корректировал свой проект.

Цель

Разработать прототип альтернативной социальной сети «Comject» для операционных систем iOS и Android.

Задачи

  1. Спроектировать простой и удобный дизайн приложения.
  2. Разработать удобный и простой мессенджер.
  3. Разработать алгоритм персональных рекомендаций в основной ленте.
  4. Добавить поддержку нескольких языков.

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

  • Персональный компьютер и смартфон с установленным ПО (Android Studio, XCode, Adobe XD)

Описание

Этапы работы над проектом

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

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

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

Учитель. Общие сведения. Для учителя был разработан отдельный клиент приложения. Интерфейс для учителя заимствован от интерфейса ученика. Но некоторые элементы были изменены. У учителя отсутствует раздел заметки, так как данный раздел был создан для удобной разработки проекта. Bottom navigation у учителя разделяет на несколько разделов приложение – главная, лента, чаты, профиль.

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

Разработка приложения. Comject доступен на всех мобильных устройствах под управлением Android и iOS.

Реализация. Android. Android состоит из множества Activity, каждой из которых соответствует экран приложения. Каждая Activity реализована в виде Java класса. Также к каждой Activity прикреплён соответствующий XML-файл. В XML-файле описано расположение View объектов. При запуске приложения Android автоматически приведёт View элементы под размер экрана устройства. Тем самым одна и та же Activity будет выглядеть одинаково независимо от диагонали устройства.

Так как целью данной работы является разработать прототип альтернативной социальной сети, приложение работает со встраиваемой базой данных SQLite для демонстрации работы социальной сети.

Реализация. iOS. Приложения для ОС iOS состоят из множества SwiftUI файлов. Вся frontend и backend разработка осуществляется на одном языке программирования. Благодаря этому стало возможно создать весь UI при помощи SwiftUI прямо в коде, в процессе посматривая на превью. В SwiftUI можно использовать обычные переменные, но, чтобы изменение переменной влияло на UI, такие переменные нужно пометить как ‘@State’. Это значительно упрощает процесс разработки, так как вся логика и UI находятся в 1 файле.

Важно отметить, что Comject для iOS находится ещё в глубокой стадии разработки и в нём отсутствуют некоторые функции, которые доступны уже сейчас для Android.

Алгоритм персональных рекомендаций. В разделе «лента» отображаются проекты других учеников. В ленте ученики могут находить вдохновение для своей работы. Социальная сеть будет предлагать пользователю работы других учеников. Это стало возможным благодаря особому алгоритму персональных рекомендаций. Приложение будет отслеживать поведение пользователя и формировать для него персонализированную ленту.

Лента будет зависеть:

  1. от пользователей, на которых вы подписаны
  2. проектов, которые вам понравились
  3. недавних просмотров проектов
  4. основного вашего направления (техническое, гуманитарное, социальное и т.д.)

На данный момент алгоритм персональных рекомендаций работает в тестовом режиме в виде математической модели на Android. Это связано с отсутствием серверного оборудования. Алгоритм собирает в виде большого массива данные о пользователе, которые необходимо хранить и обрабатывать на удаленной машине.

Локализация. Приложение переведено на 9 языков: русский, английский, немецкий, испанский, французский, итальянский, нидерландский, португальский, китайский. Мы считаем это очень важным ходом, так как уверены, что Comject будет полезен не только ученикам и учителям России.

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

Подводя итоги проделанной работы, можно сделать следующие выводы.

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

Спроектирован дизайн приложения в стиле Material Design. Удалось разработать удобный и простой интерфейс, который может освоить любой учитель и ученик.

Для учителя получилось создать удобный и простой мессенджер, который будет выполнять рутинную работу за учителя.

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

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