Научная статья на тему 'РАЗРАБОТКА МНОГОПОЛЬЗОВАТЕЛЬСКОГО ПРИЛОЖЕНИЯ ДЛЯ ЗАМЕТОК'

РАЗРАБОТКА МНОГОПОЛЬЗОВАТЕЛЬСКОГО ПРИЛОЖЕНИЯ ДЛЯ ЗАМЕТОК Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
96
12
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
Клиент-серверное приложение / API-сервера / Application server / SQLite / реляционная база данных / интерфейс / пользователь / сервер / Client-server application / API servers / Application server / SQLite / relational database / interface / user / server

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Лиманова Наталия Игоревна, Крицкова Елизавета Андреевна, Орехва Александр Владимирович

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Лиманова Наталия Игоревна, Крицкова Елизавета Андреевна, Орехва Александр Владимирович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

DEVELOPMENT OF A MULTI-USER APPLICATION FOR NOTES

This article is devoted to the development of a multi-user online application for notes. Nowadays, the problem of planning a day and making notes about any important moments is particularly acute. A person may lose sight of what he wanted to do or visit some place. However, the technique is able to support him at this moment. From this follows the goal of our project the development of an application for creating and editing notes. As a result of the project, a client-server architecture was implemented, which includes database development, application server development, API design and user interface creation.

Текст научной работы на тему «РАЗРАБОТКА МНОГОПОЛЬЗОВАТЕЛЬСКОГО ПРИЛОЖЕНИЯ ДЛЯ ЗАМЕТОК»

Научная статья Original article УДК 004

РАЗРАБОТКА МНОГОПОЛЬЗОВАТЕЛЬСКОГО ПРИЛОЖЕНИЯ

ДЛЯ ЗАМЕТОК

DEVELOPMENT OF A MULTI-USER APPLICATION FOR NOTES

Лиманова Наталия Игоревна, доктор технических наук, профессор, Зав. кафедрой «Информационные системы и технологии», Поволжский государственный университет телекоммуникаций и информатики, Россия, г. Самара

Крицкова Елизавета Андреевна, Студент 2 курс, факультет «Информационные системы и технологии», Поволжский государственный университет телекоммуникаций и информатики, Россия, г. Самара Орехва Александр Владимирович, Студент 2 курс, факультет «Информационные системы и технологии», Поволжский государственный университет телекоммуникаций и информатики, Россия, г. Самара

Limanova Natalia Igorevna, Doctor of Technical Sciences, Professor, Head Department of Information Systems and Technologies, Volga State University of Telecommunications and Informatics, Russia, Samara

Kritskova Elizaveta Andreevna, 2nd year student, Faculty of Information Systems and Technologies, Volga State University of Telecommunications and Informatics, Russia, Samara

5767

Orekhva Alexander Vladimirovich, 2nd year student, Faculty of Information Systems and Technologies, Volga State University of Telecommunications and Informatics, Russia, Samara

Аннотация: Данная статья посвящена разработке многопользовательского онлайн приложения для заметок. В наше время проблема планирования дня и составления заметок о каких-либо важных моментах стоит особенно остро. Человек может упустить из виду то, что он хотел сделать или посетить какое-нибудь место. Однако, техника способна поддержать его в этом моменте. Из этого следует цель нашего проекта -разработка приложения для создания и редактирования заметок. В результате проекта была реализована клиент-серверная архитектура, в которую входят разработка базы данных, разработка сервера приложений, проектирование API и создание интерфейса для пользователей.

S u m m a r y: This article is devoted to the development of a multi-user online application for notes. Nowadays, the problem of planning a day and making notes about any important moments is particularly acute. A person may lose sight of what he wanted to do or visit some place. However, the technique is able to support him at this moment. From this follows the goal of our project - the development of an application for creating and editing notes. As a result of the project, a client-server architecture was implemented, which includes database development, application server development, API design and user interface creation.

Ключевые слова: Клиент-серверное приложение, API-сервера, Application server, SQLite, реляционная база данных, интерфейс, пользователь, сервер.

Keywords: Client-server application, API servers, Application server, SQLite, relational database, interface, user, server.

5768

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

Рассмотрим технологии, используемые в разработке проекта. Была задействована база данных, которую мы проектировали на основе СУБД SQLite, состоящая из 3 сущностей:

Users - содержит следующие сведения:

• Id - уникальный идентификатор сущности

• Username - имя пользователя

• Passhash - хэш-сумма пароля. Таким образом, сам пароль не хранится в базе данных, поэтому повышается уровень безопасности

• Created - время создания заметки

• Updated - время изменения заметки

Tokens - информацию можно охарактеризовать следующим образом:

• Id - уникальный идентификатор сущности

• User_id - уникальный идентификатор пользователя

• Token - случайно сгенерированная последовательность символов. Используется для обращения к серверу

• Created

• Used

5769

Научно-образовательный журнал для студентов и преподавателей «StudNet» №6/2022

Notes - сущность, которая содержит информацию об авторе какого-либо издания:

Id - уникальный идентификатор сущности User_id - уникальный идентификатор пользователя Title - название заметки Text - тело заметки Created - время создания заметки Updated - время изменения заметки На рис.1 изображена структура созданной базы данных

Tables (3)

username pasihash created updated

created

created updated

Рис.1 - структура разработанной базы данных На рис.2 - рис.4 показана структура сущностей.

Структура Данные Ограничении Индексы Триггеры DDL

Инн таблицы: not«

WITHOUT ROWID

_ Первичный Внешний _ Не

Им* Тип данных Уникальность Проверка ...... Сравнение

ключ ключ NULL

1 id INTEGER 2u««srjd INTEGER 3 title TEXT A text TEXT

5 created DATETIME

6 updated DATETIME

NULL NULL NULL NULL NULL NULL

5770

Рис.2 - структура сущности notes

Структур* Данные Ограничения Индексы Триггеры DOL

D С

Имя таблицы: tokens

WITHOUT ROWID

Первичныи Вмешнии „ _ Не _

Имя Тип данных Уникальность Проверка а..... Сравнение

ключ ключ г г NULL

1 id INTEGER

2 user id INTEGER

3 token TEXT

4 created DATETIME

5 used DATETIME

« *

NULL NULL NULL NULL NULL

Рис.3 - структура сущности tokens

Структура Данные Ограничения Индексы Триггеры DOL

■ вое

Имя таблицы: Ufers

WITHOUT ROWID

Первичныи Внешний ,, _ Не _

Имя Тип данных Уникальность Проверка ...... Сравнение

ключ ключ NULL

1 к) INTEGER

2 username TEXT

3 passhash TEXT

4 created DATETIME

5 updated DATETIME

« «

NULL NULL NULL NULL NULL

Рис.4 - структура сущности users Был разработан сервер приложения, который работает по IP адресу по протоколу HTTP. Он соединяет между собой базу данных, разработанную ранее и сам сервер, который работает на протоколе. Так на рис.5 показан работающий сервер приложения, который заносит информацию в созданную базу данных и возвращает вводимую информацию на странице в браузере.

© U7JQAl:S0Û(№HtK/1/edl ИЗОМИЗМЬеО! Й28Л14Я075

Рис.5 - Создание заметки в сервере приложения

5771

Проектирование API позволяет правильно отвечать на те или иные команды, которые задает пользователь. Поэтому эта часть разработки заключается в том, чтобы грамотно и правильно запрограммировать вывод ответов, так, чтобы пользователь и сервер знали, что от них требуют.

Были использованы такие функции, как:

• GET /

Возвращает строку 'Hello, World!'. Это сделано для того, чтобы убедиться, что программа полностью функционирует.

• GET /register

После этой команды выполняется регистрация пользователя.

• GET /login

Данная команда возвращает сгенерированный токен для пользователя.

• GET /notes/{token}

Команда возвращает список, состоящий из note_id заметок.

• GET /notes/{note_id}/{token}

Данная команда возвращает заметку.

• GET /notes/new/{token}

Данная команда создает заметку и возвращает присвоенный ей note_id.

• GET /notes/{note_id}/update/{token}

Данная команда обновляет заметку с идентификатором note_id.

• GET/notes/{note_id}/delete/{token}

Данная команда удаляет заметку с идент

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

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

Для разработки интерфейса был использован движок, который создает объекты и сцены в 2D и 3D формате. Для скриптов был выбран язык программирования GDScript, лучше интегрированный в движок, имеющий больше примеров, не требующий запуска внешней среды.

5772

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

Я|П 1л

Рис.6 - Окно регистрации После регистрации происходит переход в другое окно, которое служит для создания и редактирования заметок. В этом окне имеются такие разделения, как место с уже имеющимися заметками и поле для создания и редактирования заметки. Поле уже имеющихся заметок имеет вид: название заметки и кнопка для прочтения этой заметки. Поле для создания и редактирования имеет вид: название заметки, текст заметки и многочисленные кнопки, которые отвечают за определенные функции - добавить, изменить, удалить, очистить. На рис.7 показано окно создания и редактирования

заметок.

1.08 от

МУ МОТЕ5: «е1о*1 ТМе:

[1( М1151С

» фуепу

Яеа<1...

# П1гг»

• Ми$1с

Иеай...

О«* ЕсИих

Те«:

А1«п ЧУнИсег

к-391

АИсИ

АЬг1х

Куво

М83

п»е р« ки Ракеаг

Рис.7 - окно создания и редактирования заметок

5773

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

Литература

1. Руководство по приложению SQLite. Официальный сайт [Электронный ресурс]. URL: https ://metanit. com/sql/sqlite

2. Вводное руководство по приложению SQLite: Ожегов Денис, Александр Фёдоров [Электронный ресурс]. URL: https://www.opennet.ru/base/dev/sqlite_guide.txt.html

3. Выбор сервера и его настройка: Сергей Глухов[Электронный ресурс]. URL: https://www.ixbt.com/comm/terminals2.html

4. Язык программирования Python. 2001 — 454: Г. Россум, Ф.Л.Дж. Дрейк, Д.С. Откидач. C [Электронный ресурс]. URL: http://rus -linux.net/MyLDP/BOOKS/python.pdf

5. Программирование на Python. С-Пб.: «Символ». 2002 — 1135C : Марк Лутц.. URL: https ://iro23.ru/sites/default/files/mark_lutc ._programmirovanie_na_python.p df

6. Разработка сетевых приложений. «ПИТЕР». 2003 — 1045C. Стивенс У.Р. UNIX [Электронный ресурс]. URL: https://www.litmir.me/br/?b=225366&p=2

5774

Literature

1. SQLite Application Guide. Official site [Electronic resource]. URL: https ://metanit.com/sql/sqlite

2. An introductory guide to the SQLite application: Ozhegov Denis, Alexander Fedorov [Electronic resource]. URL: https://www.opennet.ru/base/dev/sqlite_guide.txt.html

3. Server selection and configuration: Sergey Glukhov [Electronic resource]. URL: https ://www.ixbt.com/comm/terminals2.html

4. Python programming language. 2001-454: G. Rossum, F.L.J. Drake, D.S. Kickback. C [Electronic resource]. URL: http://rus-linux.net/MyLDP/BOOKS/python.pdf

5. Programming in Python. St. Petersburg: "Symbol". 2002 - 1135C : Mark Lutz. URL:

https ://iro23.ru/sites/default/files/mark_lutc ._programmirovanie_na_python.p df

6. Development of network applications. "PETER". 2003 - 1045C. Stephens W.R. UNIX [Electronic resource]. URL: https://www.litmir.me/br/?b=225366&p=2

© Лиманова Н.И., Крицкова Е.А., Орехва А.В., 2022 Научно-образовательный журнал для студентов и преподавателей «StudNet» №6/2022.

Для цитирования: Лиманова Н.И., Крицкова Е.А., Орехва А.В. РАЗРАБОТКА МНОГОПОЛЬЗОВАТЕЛЬСКОГО ПРИЛОЖЕНИЯ ДЛЯ ЗАМЕТОК// Научно-образовательный журнал для студентов и преподавателей «StudNet» №6/2022.

5775

i Надоели баннеры? Вы всегда можете отключить рекламу.