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

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

CC BY
90
11
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
КЛИЕНТ-СЕРВЕРНОЕ ПРИЛОЖЕНИЕ / API-СЕРВЕРА / APPLICATION SERVER / SQLITE / РЕЛЯЦИОННАЯ БАЗА ДАННЫХ / ИНТЕРФЕЙС / ПОЛЬЗОВАТЕЛЬ / СЕРВЕР

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

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.

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

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

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

DEVELOPMENT OF A MULTI-USER APPLICATION FOR NOTES

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.

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

Научная статья 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

5373

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.

5374

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

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

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

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

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

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

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

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

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

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

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

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

• Created

• Used

5375

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

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

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

• Title - название заметки

• Text - тело заметки

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

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

На рис.1 изображена структура созданной базы данных

▼ Table* (3)

id ^ ■

username ■

pasihash ■

created ■

updated ■

▼ tokens

id ^ ■

user_id ■

< token ■

created ■

used ■

▼ notes

id tt

user_id ■

title ■

text ■

created ■

updated ■

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

Структура Длины« Огщиг«!»!» Индексы Триггеры 001

■ I в ■ ■ | а о я«* л о

Им« таблицы: not« WITHOUT ROWID

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

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

ключ ключ NULL

1 id INTEGER » • NULL

2 U'íf.id INTEGER • NULL

III»» fUff * MUU

4 text TEXT • NULL

5 created DATETIME • NULL

6 updated DATETIME • NULL

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

5376

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

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

Имя таблицы: uier?

Имя Тип данных

1 к) INTEGER

2 usemame TEXT

3 passhash TEXT

4 created DATETIME

5 updated DATETIME

WITHOUT ROW1D

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

He

Уникальность Проверка ...... Сравнение

ключ ключ NULL

*

NULL NULL NULL NULL NULL

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

$ 117as. l-WiWntfW Ved 14с 1 згакн 1 i ZdtwOI fZZ87d45a07S

Рис.5 - Создание заметки в сервере приложения Проектирование API позволяет правильно отвечать на те или иные команды, которые задает пользователь. Поэтому эта часть разработки

5377

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

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

• GET /

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

• GET /register

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

• GET /login

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

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

• 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}

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

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

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

5378

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

Js«m*Tw: Pomidortta

Password: ...........J

Sign In

Registration? or?

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

5379

ш qwerty

«eid...

« Rims

Heid...

• Music

»t«

Logout

пае:

Music

Aim walker

к-Ml

AvtcH

Ahiln

*y*o

M83

The Fit Rit Pike»

Add New Note Updite Note

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

В конечном итоге мы получаем продукт, который обладает рядом плюсов и минусов над другими проектами в данной теме. В ходе работы была реализована база данных в СУБД 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:

5380

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

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.

5381

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