Пояснительная записка

Введение

Ссылка на [PDF] версию

Данная пояснительная записка разработана в рамках проекта по созданию кроссплатформенного Electron приложения "Bookord" для чтения электронных книг на настольных компьютерах. В дальнейшем представлены цели и задачи проекта, технические характеристики, ожидаемые технико-экономические показатели, а также источники, использованные при разработке.

Назначение и область применения

Назначение программы, краткая характеристика области применения программы

Целью проекта является предоставление пользователям удобного инструмента для чтения и хранения электронных книг на настольных компьютерах под управлением ОС Windows, MacOS и Linux. Приложение "Bookord" позволит пользователям добавлять, просматривать, а также персонализировать отображение книг; взаимодействовать с текстом книги через контекстное меню выделения: копировать, помечать, переводить.

Технические характеристики

Постановка задачи

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

Описание функционирования программы

Приложение позволяет пользователю добавлять электронные книги, просматривать в добавленные книги в библиотеке приложения, видеть метаданные книг (обложка, название, автор, год...), открывать книги.

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

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

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

Приложение поддерживает Windows 10-11, macOS 12-14, Ubuntu 18.04, и распространятся в виде установочных файлов для советующих ОС.

Метод организации входных и выходных данных

Пользователь может добавлять книги через диалоговое окно или перетаскиванием файла книги в окно программы, после чего файлы копируются по пути: %APPDATA%/bookord/Books (Windows) и ~/Library/Application Support/Bookord/Books (MacOS и Linux). Добавленные книги обрабатываются приложением и их метаданные (название, обложка...) сохраняются в хранилище приложения.

Пользователь может менять настройки приложения через поля ввода в модальном окне представления настроек, они сохраняются в хранилище настроек приложения.

После открытия книги, пользователь может делать закладки, помечать выделенный текст, а так же приложение отслеживает прогресс чтения ― что все сохраняется в хранилище приложения

Выбор технических и программных средств

Для создания интерфейс приложения был выбран React ― де-факто стандарт для интерактивных веб приложений. Так же было решено в добавок использовать UI react библиотеку Mantine. Она предоставляет большинство часто используемых компонентов и оставляет возможность их глубоко кастомизировать.

В качестве хранилища для состояния настроек было принято использовать
библиотеку Mobx, отличная своей простой, производительностью и
реактивностью к изменениям; последнее особенно важно в React
приложениях. Mobx позволяет помечать определенные части данных как
«наблюдаемые», и автоматически обновляет их во всех остальных местах где
они используются, если обнаруживаются изменения.

Ожидаемые технико-экономические показатели

Технико-экономические показатели, обосновывающие выбранного варианта технического решения, а также, при необходимости, ожидаемые оперативные показатели

На основании выполнения технического задания и соответствия требованиям заказчика, ожидается успешное прохождение приемки приложения комиссией, состоящей из представителей заказчика и исполнителя. Установочные файлы приложения будут предоставлены для всех поддерживаемых ОС.

Источники, использованные при разработке

Перечень научно-технических публикаций, нормативно-технических документов и других научно-технических материалов, на которые есть ссылки в основном тексте

При разработке приложения "Bookord" использовались рекомендации и стандарты относительно разработки кроссплатформенных Electron приложений (https://www.electronjs.org/docs) и пользовательского интерфейса (https://m3.material.io/foundations).

Прочие источники: