Skip to content

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.

Document structure

Document Purpose
Functional Requirements What the system does
Non-Functional Requirements How the system performs

Requirement notation

Identifiers

Pattern Meaning Example
FR-X.Y Functional Requirement FR-2.1 (Format Conversion)
NFR-X.Y Non-Functional Requirement NFR-4.1 (Startup Time)
UC-X.Y Use case UC-2.1 (Import Books)

Priority levels

Priority Label MVP Target Description
P0 Critical v1.0 Must have - core functionality
P1 High v1.0 Should have - important for launch
P2 Medium v1.x Nice to have - post-MVP planned
P3 Low v2.x+ Future - not yet planned

Requirement categories

Functional requirements (FR)

Category ID Range Count Description
User Management FR-1.x 6 Account, auth, offline mode
Book Management FR-2.x 14 Import, organize, search
Integrated Viewer FR-3.x 4 Reading, customization, profiles
Annotations & Notes FR-4.x 5 Highlights, notes, export
Progress Tracking FR-5.x 3 Statistics, sync
Goal Management FR-6.x 4 Goals, progress, notifications
Storage & Sync FR-7.x 6 Metadata server, file storage backends, OPDS
Total 42

Non-functional requirements (NFR)

Category ID Range Count Description
Storage NFR-1.x 4 File size, backends, encryption
Synchronization NFR-2.x 4 Offline, conflicts, performance
Platform Support NFR-3.x 4 Web, desktop, mobile, e-ink
Performance NFR-4.x 5 Startup, open, search, scale
Usability NFR-5.x 5 Design, accessibility, i18n
Security NFR-6.x 5 Auth, encryption, privacy
Reliability NFR-7.x 4 Uptime, integrity, backup
Extensibility NFR-8.x 1 Plugin architecture
Maintainability NFR-9.x 2 Code quality, logging
Total 34

MVP scope summary

P0 requirements (must have)

Category Requirements
User Management FR-1.1, FR-1.2, FR-1.4
Book Management FR-2.2, FR-2.4, FR-2.6, FR-2.8, FR-2.9, FR-2.10
Viewer FR-3.1, FR-3.2, FR-3.4
Annotations FR-4.1, FR-4.2, FR-4.3
Progress FR-5.1, FR-5.3
Storage FR-7.1, FR-7.1.1, FR-7.2
Platform NFR-3.1, NFR-3.2, NFR-3.3
Performance NFR-4.1, NFR-4.2, NFR-4.3
Sync NFR-2.1, NFR-2.2, NFR-2.4
Security NFR-6.1, NFR-6.2, NFR-6.4, NFR-6.5
Reliability NFR-7.2, NFR-7.3
Usability NFR-5.1, NFR-5.2

Total P0: 18 FR + 17 NFR = 35 requirements

P1 requirements (should have)

Category Requirements
User Management FR-1.3, FR-1.5, FR-1.6
Book Management FR-2.5, FR-2.7, FR-2.13, FR-2.14
Viewer FR-3.3
Annotations FR-4.4, FR-4.5
Progress FR-5.2
Goals FR-6.1, FR-6.2, FR-6.3
Platform NFR-3.4
Performance NFR-4.4, NFR-4.5
Sync NFR-2.3
Storage NFR-1.3
Usability NFR-5.3, NFR-5.4, NFR-5.5
Reliability NFR-7.1, NFR-7.4
Maintainability NFR-9.1, NFR-9.2

Total P1: 16 FR + 12 NFR = 28 requirements


Traceability matrix

Requirements to use cases

FR Use case Description
FR-1.1 UC-1.1 Account registration
FR-1.2 UC-1.2 Login with credentials
FR-1.3 UC-1.3 OAuth login
FR-1.4 UC-1.4 Offline mode
FR-1.5 UC-1.5 Password recovery
FR-1.6 UC-1.6 Account deletion
FR-2.1 UC-2.2 Format conversion
FR-2.2, FR-2.13 UC-2.3 Metadata editing
FR-2.4, FR-2.5 UC-2.7 Export
FR-2.6, FR-7.2 UC-2.1 Import
FR-2.7, FR-2.8, FR-2.11 UC-2.6 Search
FR-2.9 UC-2.4 Shelves
FR-2.10 UC-2.5 Tags
FR-2.12 UC-2.8 ISBN scanning
FR-2.14 UC-2.9 Physical books
FR-3.1 UC-3.1 Reading
FR-3.2 UC-3.2 Reader customization
FR-3.3 UC-3.3 Reading profiles
FR-3.4 UC-3.4 Bookmarks
FR-4.1 UC-4.1 Annotations
FR-4.2 UC-4.2 Notes
FR-4.3 UC-4.3 Annotation management
FR-4.4 UC-4.4 Annotation export
FR-4.5 UC-4.5 Annotation search
FR-5.1 UC-5.1 Progress tracking
FR-5.2 UC-5.2 Statistics filtering
FR-5.3 UC-7.3 Cross-device sync
FR-6.1 UC-6.1 Create goals
FR-6.2, FR-6.3 UC-6.2 Goal progress
FR-7.1 UC-7.1 File storage backend selection
FR-7.1.1 UC-7.1 Metadata server configuration
FR-7.3 UC-7.2 OCR processing
FR-7.5 UC-7.4 OPDS browsing

Requirements to entities

FR Primary Entities
FR-1.x User
FR-2.x Book, Shelf, Tag, Series
FR-3.x Book, ReadingProfile, Bookmark
FR-4.x Annotation, Note
FR-5.x ReadingSession, Book
FR-6.x ReadingGoal
FR-7.x StorageConfig, FileStorageBackend, SavedFilter

Core principles

The requirements reflect these core principles:

1. User data ownership

  • All data exportable in open formats
  • No vendor lock-in
  • Self-hosting option available

2. Cross-platform accessibility

  • Consistent experience across all devices
  • E-ink devices as first-class citizens
  • Progressive Web App support

3. Offline functionality

  • Full feature parity offline
  • Sync when connected
  • No account required for basic use

4. Privacy first

  • No default analytics
  • Opt-in telemetry only
  • Local-first architecture

5. Developer friendly

  • Open source
  • Public REST API
  • Plugin extensibility