Проектная документация

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

Electron приложения для чтения электронных книг “Bookord”

bookord-logo@4x.png|400

Введение

Предметная область

Приложения на базе Electron характеризуются возможность применения веб-технологий для разработки десктопных приложений. В корне Electron лежит встроенный браузер Chromium и доступ к JavaScript cреде исполнения Node.js, отсюда и поразительное преимущество Electron приложений перед нативными ― возможность поддерживать несколько десктопных платформ одной кодовой базой.

Теперь зная особенности Electron, перейдем к рассмотрению строения файлов электронных книг.

С каждым файлом электронной книгой ассоциированы две сущности ― ее
метаданные (название, обложка, автор...), и ее контент (главы, оглавление,
CSS-стили).


Сущность метаданных книги, это то, что требуется приложению сразу ― как только книга была добавлена пользователем в папку книг приложения, будь то через диалог добавления файла, drag-and-drop в окно приложения или же вручную, через проводник; необходимо сразу запускать процесс извлечения ее метаданных.

Извлечение метаданных предполагает распаковку файла электронной публикации и синтаксический анализ разархивированных файлов.

Без извлечения метаданных неизвестно точное название книги (только название файла), для нее нет обложки, и ее нельзя отфильтровать по тегам ―
они тоже неизвестны.

Сущность контента книги же, поставляется по запросу пользователя ―
когда он решил открыть книгу. Контент предоставляет помимо текстовой
составляющей книги (глав), еще и дополнительную информацию в виде
структуры оглавления и CSS-стилей книги.

Стоит отметить, что для достижения лучшего пользовательского опыта,
вместе с запросом на открытие конкретной книги, стоит еще передавать и
номер главы. Для новой книги всегда берется первая глава, но если
пользователь уже начал читать книгу ― то тогда используется номер
последней открытой главы. Это позволит приложению начать отображать
содержимое книги как можно скорее, а не дожидаться пока остальные главы
извлекутся.

Требования к приложению

Среди общих требований можно перечислить:

Среди требований к представлениям можно выделить:

  1. Представление «Библиотека»:
    • Отображение книг в виде карточек с обложкой и названием, извлекаемых из метаданных
    • Возможность добавлять и удалять книги
    • Сортировка и группировка по датам, автору, жанру.
  2. Представление «Чтение»:
    • Отображение запрашиваемой главы пользователем, не дожидаясь извлечения остальных глав
    • Возможность постраничного чтения книги
    • Отображение UI элементов с названием книги, названием главы и номером страницы
    • Изоляция стилей книги от остальной части приложения
    • Контекстное меню с опциями выделения, копирования, перевода, просмотра в определения выделенного текста
    • Поддержка Text-To-Speech
    • Возможность навигации по главам книги с помощью оглавления
  3. Представление «Настройки»:
    • Модульный подход, позволяющий легко добавить новые настройки в процессе разработки
    • Группировка связанных настроек
    • Настройки отвечающие за персонализацию приложения и стилей книг (тема, изменения гарнитуры шрифта и его размера)

Используемые стандарты

При создании документа «Техническое задание на разработку» "по ГОСТу" были использованы следующие стандарты:

При создании документа «Пояснительная записка» был использован следующий стандарт:

При создании документа «Руководство пользователя» был использован следующий стандарт:

При создании документа «Программа и методика испытаний» был использован следующий стандарт:

Ссылки на документы