38 lines
1.3 KiB
Markdown
38 lines
1.3 KiB
Markdown
---
|
|
epic: 9
|
|
story: 9.3
|
|
title: "PWA Support"
|
|
status: draft
|
|
---
|
|
|
|
## Epic 9 — Web App (React + WASM)
|
|
**Goal:** Zero-install web experience with real-time collaboration.
|
|
|
|
### Story 9.3: PWA Support
|
|
|
|
As a web user,
|
|
I want CalcPad to work offline and be installable on my device,
|
|
So that I can use it like a native app without network dependency.
|
|
|
|
**Acceptance Criteria:**
|
|
|
|
**Given** the web app has been visited at least once
|
|
**When** the user loses network connectivity
|
|
**Then** the service worker serves the cached application shell and assets
|
|
**And** all previously loaded sheets remain accessible and editable offline
|
|
|
|
**Given** a user visits the web app in a supported browser
|
|
**When** the browser detects the PWA manifest
|
|
**Then** an "Add to Home Screen" / install prompt is available
|
|
**And** installing creates a standalone app icon on the user's device
|
|
|
|
**Given** the app is running offline
|
|
**When** a user performs a currency or unit conversion that relies on exchange rates
|
|
**Then** the most recently cached rates are used for evaluation
|
|
**And** a subtle indicator shows that rates may be stale
|
|
|
|
**Given** a user navigates to the web app for the first time on a reasonable connection
|
|
**When** the initial page load completes
|
|
**Then** the time to interactive is less than 2 seconds
|
|
**And** the app scores above 90 on Lighthouse PWA, Performance, and Best Practices audits
|