Requirements overview

This section provides an overview of the requirements specification for Papyrus, including the structure, notation, and traceability between requirements, use cases, and entities.

Requirement notation

Identifiers

  • FR-X_Y - functional requirement (e.g., FR-2_1: format conversion)

  • NFR-X_Y - non-functional requirement (e.g., NFR-4_1: startup time)

  • UC-X_Y - use case (e.g., UC-2_1: import books).

Priority levels

  • P0 - critical (v0.x).

  • P1 - high (v1.0).

  • P2 - medium (v1.x).

  • P3 - low (v2.x+).


All requirements

ID

Title

Status

Priority

FR-1_1

Account registration

open

P0

FR-1_2

Email/password login

open

P0

FR-1_3

OAuth login (Google)

open

P1

FR-1_4

Offline mode

open

P0

FR-1_5

Password recovery

open

P1

FR-1_6

Account deletion

open

P1

FR-2_1

Format conversion

open

P2

FR-2_10

Book tagging

open

P0

FR-2_11

Query language filters

open

P2

FR-2_12

ISBN barcode scanning

open

P2

FR-2_13

Metadata fetching

open

P1

FR-2_14

Physical book tracking

open

P1

FR-2_2

Manual metadata editing

open

P0

FR-2_3

Custom metadata fields

open

P2

FR-2_4

Book file export

open

P0

FR-2_5

Library data export

open

P1

FR-2_6

Book import

open

P0

FR-2_7

Full-text search

open

P1

FR-2_8

Advanced search

open

P0

FR-2_9

Shelf organization

open

P0

FR-3_1

E-book reading

open

P0

FR-3_2

Viewer customization

open

P0

FR-3_3

Reading profiles

open

P1

FR-3_4

Bookmarks

open

P0

FR-4_1

Text highlighting

open

P0

FR-4_2

Book notes

open

P0

FR-4_3

Annotation editing

open

P0

FR-4_4

Annotation export

open

P1

FR-4_5

Annotation search

open

P1

FR-5_1

Reading statistics

open

P0

FR-5_2

Statistics filtering

open

P1

FR-5_3

Cross-device sync

open

P0

FR-6_1

Reading goals

open

P1

FR-6_2

Manual goal updates

open

P1

FR-6_3

Automatic goal progress

open

P1

FR-6_4

Goal notifications

open

P2

FR-7_1

File storage backend selection

open

P0

FR-7_1_1

Metadata server configuration

open

P0

FR-7_2

File upload

open

P0

FR-7_3

OCR processing

open

P2

FR-7_4

Plugin system

open

P3

FR-7_5

OPDS catalog support

open

P2

NFR-1_1

Maximum file size

open

P0

NFR-1_2

Storage backend support

open

P0

NFR-1_3

Multi-backend configuration

open

P1

NFR-1_4

File encryption

open

P2

NFR-2_1

Online/offline parity

open

P0

NFR-2_2

Offline change indicators

open

P0

NFR-2_3

Conflict resolution

open

P1

NFR-2_4

Sync performance

open

P0

NFR-3_1

Web browser support

open

P0

NFR-3_2

Desktop operating system support

open

P0

NFR-3_3

Mobile operating system support

open

P0

NFR-3_4

E-ink device support

open

P1

NFR-4_1

Application startup

open

P0

NFR-4_2

Book opening

open

P0

NFR-4_3

Search performance

open

P0

NFR-4_4

Library scalability

open

P1

NFR-4_5

E-ink performance

open

P1

NFR-5_1

Design system

open

P0

NFR-5_2

Accessibility

open

P0

NFR-5_3

RTL and internationalization

open

P1

NFR-5_4

Localization

open

P1

NFR-5_5

E-ink usability

open

P1

NFR-6_1

Password security

open

P0

NFR-6_2

Transport security

open

P0

NFR-6_3

Two-factor authentication

open

P2

NFR-6_4

Session management

open

P0

NFR-6_5

Privacy by default

open

P0

NFR-7_1

System uptime

open

P1

NFR-7_2

Data integrity

open

P0

NFR-7_3

Network resilience

open

P0

NFR-7_4

Backup and restore

open

P1

NFR-8_1

Plugin architecture

open

P3

NFR-9_1

Code quality

open

P1

NFR-9_2

Logging and monitoring

open

P1

UC-1_1

Create user account

open

P0

UC-1_2

Login with credentials

open

P0

UC-1_3

Login with Google account

open

P1

UC-1_4

Use application offline

open

P0

UC-1_5

Recover password

open

P1

UC-1_6

Delete account

open

P1

UC-2_1

Import book files

open

P0

UC-2_2

Convert book formats

open

P2

UC-2_3

Edit book metadata

open

P0

UC-2_4

Organize books into shelves

open

P0

UC-2_5

Tag books

open

P0

UC-2_6

Search books

open

P0

UC-2_7

Export books and data

open

P0

UC-2_8

Scan ISBN barcode

open

P2

UC-2_9

Track physical book

open

P1

UC-3_1

Read books with integrated viewer

open

P0

UC-3_2

Customize reading experience

open

P0

UC-3_3

Manage reading profiles

open

P1

UC-3_4

Manage bookmarks

open

P0

UC-4_1

Create text annotations

open

P0

UC-4_2

Create book notes

open

P0

UC-4_3

Manage annotations

open

P0

UC-4_4

Export annotations

open

P1

UC-4_5

Search annotations

open

P1

UC-5_1

Track reading progress

open

P0

UC-5_2

Filter progress statistics

open

P1

UC-6_1

Create reading goals

open

P1

UC-6_2

Manage goal progress

open

P1

UC-7_1

Configure storage options

open

P0

UC-7_2

Process scanned documents

open

P2

UC-7_3

Synchronize data across devices

open

P0

UC-7_4

Browse OPDS catalog

open

P2

Functional requirements by category

Category

Scope

Description

User management

FR-1.x

Account, auth, offline mode

Book management

FR-2.x

Import, organize, search

Integrated viewer

FR-3.x

Reading, customization, profiles

Annotations and notes

FR-4.x

Highlights, notes, export

Progress tracking

FR-5.x

Statistics, sync

Goal management

FR-6.x

Goals, progress, notifications

Storage and sync

FR-7.x

Metadata server, file storage backends, OPDS

Non-functional requirements by category

Category

Scope

Description

Storage

NFR-1.x

File size, backends, encryption

Synchronization

NFR-2.x

Offline, conflicts, performance

Platform Support

NFR-3.x

Web, desktop, mobile, e-ink

Performance

NFR-4.x

Startup, open, search, scale

Usability

NFR-5.x

Design, accessibility, i18n

Security

NFR-6.x

Auth, encryption, privacy

Reliability

NFR-7.x

Uptime, integrity, backup

Extensibility

NFR-8.x

Plugin architecture

Maintainability

NFR-9.x

Code quality, logging


Dependency graphs

User management

Book management

Integrated viewer

Annotations & notes

Progress & goals

Storage & sync


Core principles

User data ownership

All user data, such as books, notes, annotations, can be exported in open formats, avoiding vendor lock-in and enabling self-hosting options for those who prefer full control over their data.

Cross-platform accessibility

Consistent experience and a full set of features across all devices and platforms, with additional platform-specific features, such as themes suitable for e-ink screens.

Offline functionality

No account or internet connection is required to use application’s core. Non-essential features, such as data synchronization and cloud file storage is optional.

Privacy first

Local-first architecture with no analytics or tracking enabled by default. A user can avoid relying on cloud services and use the system offline or with a self-hosted server instance.

Developer friendly

The system is fully open source and makes it easy to self-host the server for file storage and data sync. Documented REST API allows users to easily build their own clients and book management solutions.