Проектная документация
Ссылка на [PDF] версию
Electron приложения для чтения электронных книг “Bookord”
Введение
Предметная область
Приложения на базе Electron характеризуются возможность применения веб-технологий для разработки десктопных приложений. В корне Electron лежит встроенный браузер Chromium и доступ к JavaScript cреде исполнения Node.js, отсюда и поразительное преимущество Electron приложений перед нативными ― возможность поддерживать несколько десктопных платформ одной кодовой базой.
Теперь зная особенности Electron, перейдем к рассмотрению строения файлов электронных книг.
С каждым файлом электронной книгой ассоциированы две сущности ― ее
метаданные (название, обложка, автор...), и ее контент (главы, оглавление,
CSS-стили).
Сущность метаданных книги, это то, что требуется приложению сразу ― как только книга была добавлена пользователем в папку книг приложения, будь то через диалог добавления файла, drag-and-drop в окно приложения или же вручную, через проводник; необходимо сразу запускать процесс извлечения ее метаданных.
Извлечение метаданных предполагает распаковку файла электронной публикации и синтаксический анализ разархивированных файлов.
Без извлечения метаданных неизвестно точное название книги (только название файла), для нее нет обложки, и ее нельзя отфильтровать по тегам ―
они тоже неизвестны.
Сущность контента книги же, поставляется по запросу пользователя ―
когда он решил открыть книгу. Контент предоставляет помимо текстовой
составляющей книги (глав), еще и дополнительную информацию в виде
структуры оглавления и CSS-стилей книги.
Стоит отметить, что для достижения лучшего пользовательского опыта,
вместе с запросом на открытие конкретной книги, стоит еще передавать и
номер главы. Для новой книги всегда берется первая глава, но если
пользователь уже начал читать книгу ― то тогда используется номер
последней открытой главы. Это позволит приложению начать отображать
содержимое книги как можно скорее, а не дожидаться пока остальные главы
извлекутся.
Требования к приложению
Среди общих требований можно перечислить:
- Поддержку чтения файла электронной книги
.epub
- Современный дизайн
- Пользовательская кастомизация интерфейса
- Отсутствие требования постоянного доступа к интернету
Среди требований к представлениям можно выделить:
- Представление «Библиотека»:
- Отображение книг в виде карточек с обложкой и названием, извлекаемых из метаданных
- Возможность добавлять и удалять книги
- Сортировка и группировка по датам, автору, жанру.
- Представление «Чтение»:
- Отображение запрашиваемой главы пользователем, не дожидаясь извлечения остальных глав
- Возможность постраничного чтения книги
- Отображение UI элементов с названием книги, названием главы и номером страницы
- Изоляция стилей книги от остальной части приложения
- Контекстное меню с опциями выделения, копирования, перевода, просмотра в определения выделенного текста
- Поддержка Text-To-Speech
- Возможность навигации по главам книги с помощью оглавления
- Представление «Настройки»:
- Модульный подход, позволяющий легко добавить новые настройки в процессе разработки
- Группировка связанных настроек
- Настройки отвечающие за персонализацию приложения и стилей книг (тема, изменения гарнитуры шрифта и его размера)
Используемые стандарты
При создании документа «Техническое задание на разработку» "по ГОСТу" были использованы следующие стандарты:
- ГОСТ 19.001-77 ЕСПД. Общие положения
- ГОСТ 19.103-77 ЕСПД. Обозначения программ и программных документов
- ГОСТ 19.201-78 ЕСПД. Техническое задание. Требования к содержанию и оформлению
При создании документа «Пояснительная записка» был использован следующий стандарт:
- ГОСТ 19.404-79 ЕСПД. Пояснительная записка. Требования к содержанию и оформлению.
При создании документа «Руководство пользователя» был использован следующий стандарт:
- ГОСТ Р 59795—2021 Информационные технологии КОМПЛЕКС СТАНДАРТОВ НА АВТОМАТИЗИРОВАННЫЕ СИСТЕМЫ. Автоматизированные системы. Требования к содержанию документов (руководство пользователя)
При создании документа «Программа и методика испытаний» был использован следующий стандарт:
- ГОСТ 19.301-79 ЕСПД. Программа и методика испытаний. Требования к содержанию и оформлению