41 lines
1.3 KiB
Markdown
41 lines
1.3 KiB
Markdown
---
|
|
epic: 9
|
|
story: 9.7
|
|
title: "User Accounts & Storage"
|
|
status: draft
|
|
---
|
|
|
|
## Epic 9 — Web App (React + WASM)
|
|
**Goal:** Zero-install web experience with real-time collaboration.
|
|
|
|
### Story 9.7: User Accounts & Storage
|
|
|
|
As a returning user,
|
|
I want to create an account and have my sheets stored in the cloud,
|
|
So that I can access my work from any device.
|
|
|
|
**Acceptance Criteria:**
|
|
|
|
**Given** a new visitor to the web app
|
|
**When** they click "Sign Up"
|
|
**Then** they can register using email/password, Google OAuth, or GitHub OAuth
|
|
**And** a verified account is created and they are logged in
|
|
|
|
**Given** an authenticated user creates or edits a sheet
|
|
**When** the sheet is saved
|
|
**Then** it is persisted to Supabase cloud storage under their account
|
|
**And** the sheet is accessible from any device when logged in
|
|
|
|
**Given** a user is on the Free plan
|
|
**When** they attempt to create an 11th sheet
|
|
**Then** they are prevented from creating it
|
|
**And** a message prompts them to upgrade to Pro or delete an existing sheet
|
|
|
|
**Given** a user is on the Pro plan
|
|
**When** they create sheets
|
|
**Then** there is no limit on the number of stored sheets
|
|
|
|
**Given** a user is logged in on a new device
|
|
**When** the app loads
|
|
**Then** all their sheets are synced and available in the sheet list
|