Формат данных
При использовании запросов к серверу могут быть использованы параметры HTTP запроса (например, «/api/assignments/getAssignmentById»). Параметры HTTP запроса представлены в виде строк. Такие строки могут представлять собой числа, имена или объекты в формате JSON [36].
Данные ответов от сервера представлены в формате JSON и представляют собой объекты, которые могут иметь вложенную структуру.
База данных
Для возможности надежного хранения данных, полученных в ходе эксплуатации, используется реляционная база данных, сохраняющая данные на дисковое пространство компьютера.
Диаграмма реляционных таблиц базы данных представлена на рис. 6.
В качестве реляционной базы данных был выбран инструмент PostgreSQL версии 9.5.1.
При использовании фреймворка Spring для взаимодействия с базой данных было принято решение использовать Spring Data JPA [37] - инструмент, позволяющий связывать реляционные базы данных с объектно-ориентированными моделями данных. В частности, Spring Data JPA является надстройкой, упрощающей работу с фреймворком Hibernate [38], который предоставляет схожие функции.

Рисунок 6. Схема реляционной базы данных
Для конфигурации сущностей, которые необходимо хранить в базе данных использовались аннотации Java Persistence API [39], которые определяют, в каком виде будут храниться объекты в базе данных.
Система учетных записей
Вследствие необходимости различать пользователей, использующих программу, а также разделять их права, появилась необходимость в использовании механизмов, обеспечивающих безопасность данных, а также разграничение их прав, которые определяют возможность осуществления определенных действий.