АННОТАЦИЯ 2
Перечень условных обозначений, символов, сокращений, терминов 4
Введение 5
1 Анализ предметной области 7
1.1 Описание предметной области 7
1.2 Анализ аналогов 7
1.2.1 Evernote 7
1.2.2 Notion 8
1.2.3 Diaro 9
1.2.4 Journey 10
1.3 Сравнительная таблица анализируемых ресурсов 11
1.4 Анализ требований 13
1.4.1 Функциональные требования 13
1.4.2 Сценарии к функциональным требованиям 14
1.4.3 Нефункциональные требования 23
1.5 Модель предметной области 23
2 Обзор инструментов реализации 26
2.1 Инструменты для реализации web-приложения 26
3 Проектирование web-приложения 29
3.1 Проектирование системы аутентификации и авторизации
пользователей 29
3.2 Архитектура API 33
3.3 Реализация поддержки совместной работы 34
4 Разработка web-приложения 37
4.1 Разработка базы данных 37
4.2 Разработка серверной части 41
4.2.1 Общая архитектура 42
4.3 Разработка клиентской части web-приложения 44
4.3.1 Общая архитектура 44
4.3.2 Интерфейс приложения 45
Заключение 52
Литература 3
На сегодняшний день использование онлайн-инструментов для введения записей является популярной и распространенной практикой среди пользователей интернета. Первые формы таких инструментов появились в конце 1990-х годов с развитием блогов и онлайн-дневников. С тех пор формат введения записей значительно изменился: от простых заметок до многофункциональных платформ, поддерживающих различные способы структурирования информации
Современные пользователи все чаще ищут инструменты, которые с одной стороны позволяют быстро создавать записи, а с другой - обладают гибкостью в организации данных. Одним из таких сценариев является введение таблиц, содержащих данные различного типа и поддерживающих интерактивные элементы. Таким таблицы становятся универсальным решением для множества задач - от планирования до введения проектов - и могут рассматриваться как форма пользовательских информационных структур, выполняющих роль простых баз данных. Данные таблицы в рамках разрабатываемого приложения были обозначены как пользовательские базы данных.
В связи с высоким спросом на инструменты для введения записей сегодня существует множество онлайн-сервисов, однако многие из них не в полной мере удовлетворяют специфические потребности пользователя. Данное обстоятельство создает пространство для появления новых решений.
Важно отметить то, что большинство популярных платформ являются международными проектами, распространяемыми по подписочной модели. В условиях ограничения на оплату подписок из России это создало значительные трудности для российских пользователей, лишив их доступа к привычным инструментам, когда продление подписки из России по независящим от них причинам стало невозможным.
Целью данной работы является разработка web-приложения для введения записей и создания пользовательских баз данных, которое удовлетворяет основным пользовательским требованиям, обеспечивает удобный интерфейс и остается доступным вне зависимости от международных ограничений.
В рамках достижения обозначенной цели были поставлены следующие задачи:
1. Изучение предметной области;
2. Анализ существующих аналогичных приложений;
3. Определение требований к разрабатываемому приложению;
4. Описание технологий и инструментов для реализации;
5. Проектирование приложения;
6. Реализация приложения.
Ожидаемый результат: готовое web-приложение для удобного ведения и организации записей, которое обеспечит пользователям интуитивно понятный интерфейс, поддержку различных форматов данных (текст, таблицы, списки), гибкие возможности структурирования информации через теги и коллекции, а также функцию совместного редактирования в реальном времени. Приложение будет отличаться высокой надежностью, включая автосохранение и защиту данных, и сможет работать на различных устройствах благодаря адаптивному дизайну, что сделает его удобным инструментом для повседневного использования без существенных ограничений.
В ходе выполнения работы было разработано web-приложение для ведения записей и создания пользовательских баз данных. Приложение полностью соответствует сформулированным требованиям, ввключающим:
1. Возможность авторизоваться пользователю;
2. Возможность поиска записей по тегам, коллекциям, названию записей;
3. Возможность добавления изображений к записям;
4. Возможность оставить обратную связь через форму обратной связи;
5. Возможность вносить изменения в записи пользователя;
6. Возможность экспортировать запись в pdf-файл;
7. Возможность сброса пароля при его утрате для пользователей с верифицированной электронной почтой;
8. Возможность редактировать одну запись нескольким людям в режиме реального времени;
9. Возможность создавать пользовательские базы данных с поддержкой сложных пользовательских сценариев.
В результате основная цель работы - создание эффективного web- приложения для ведения записей и создания пользовательских баз данных - была успешно выполнена.