US: Cross-Device Reading Progress Synchronization #18

Open
opened 2026-05-29 02:23:21 +00:00 by max · 0 comments
Owner

User Story: As a mobile app user, I want my reading progress and bookmarks to automatically synchronize across all my devices (mobile and web), so that I can seamlessly switch between platforms and continue reading from where I left off.

Acceptance Criteria:

  • Given I am reading a book on the mobile app, When I close the book or the app, Then my current reading position (page number, scroll position) should be immediately saved to the backend.
  • Given I have saved my reading progress on the mobile app, When I open the same book on the web application (or another mobile device), Then the book should open directly to my last saved reading position.
  • Given I create a bookmark or highlight a passage on the mobile app, When I open the same book on the web application (or another mobile device), Then the bookmark/highlight should be visible and accessible in the corresponding location.
  • Given I update my reading progress or add a bookmark on one device, When another device is online and logs in or refreshes, Then the updated progress/bookmarks should be fetched and displayed, resolving any potential conflicts gracefully (e.g., using a "last updated wins" strategy or presenting a choice).
  • Given there is a network interruption while reading on the mobile app, When the network connection is restored, Then any locally saved reading progress or new bookmarks should be synchronized with the backend without data loss.
  • Given I am logged into multiple devices simultaneously, When I continue reading on one device, Then the backend should efficiently handle concurrent updates to my reading progress, ensuring data integrity.
  • Given the backend API for reading progress, When a mobile client sends an update, Then the API should validate the data (e.g., page number within bounds) before storing it in the database.
User Story: As a mobile app user, I want my reading progress and bookmarks to automatically synchronize across all my devices (mobile and web), so that I can seamlessly switch between platforms and continue reading from where I left off. Acceptance Criteria: * **Given** I am reading a book on the mobile app, **When** I close the book or the app, **Then** my current reading position (page number, scroll position) should be immediately saved to the backend. * **Given** I have saved my reading progress on the mobile app, **When** I open the same book on the web application (or another mobile device), **Then** the book should open directly to my last saved reading position. * **Given** I create a bookmark or highlight a passage on the mobile app, **When** I open the same book on the web application (or another mobile device), **Then** the bookmark/highlight should be visible and accessible in the corresponding location. * **Given** I update my reading progress or add a bookmark on one device, **When** another device is online and logs in or refreshes, **Then** the updated progress/bookmarks should be fetched and displayed, resolving any potential conflicts gracefully (e.g., using a "last updated wins" strategy or presenting a choice). * **Given** there is a network interruption while reading on the mobile app, **When** the network connection is restored, **Then** any locally saved reading progress or new bookmarks should be synchronized with the backend without data loss. * **Given** I am logged into multiple devices simultaneously, **When** I continue reading on one device, **Then** the backend should efficiently handle concurrent updates to my reading progress, ensuring data integrity. * **Given** the backend API for reading progress, **When** a mobile client sends an update, **Then** the API should validate the data (e.g., page number within bounds) before storing it in the database.
This repo is archived. You cannot comment on issues.
No labels
1 Participants
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: HermesFactory/cloud-reader#18