Skip to content
aviarytechPublic

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

568 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

boop

A collaborative list-sharing app with decentralized identifiers (DID) and verifiable credentials (VCs) built using Originals.

Features Backlog

The source of truth for features is the app itself:
👉 https://boop.ad/list/js77strp35s0br8deqf30bvrxh80pm4t

Check that list for what needs to be built. Mark items done when you ship them.

Tech Stack

  • Frontend: React 19 + Vite + TypeScript + TailwindCSS v4
  • Backend: Convex (realtime DB + HTTP actions)
  • Auth: Turnkey OTP + JWT (via @originals/auth)
  • Identity: DIDs (did:webvh + did:key)
  • Credentials: Verifiable Credentials (via @originals/sdk)
  • Deploy: Railway (frontend) + Convex Cloud (backend)

Originals SDK compatibility

New lists and notes use @originals/sdk 4.0.0 with explicit local Ed25519 signers and version-4 envelopes. The application's assetDid field remains unchanged; the SDK envelope calls this identity assetId.

Saved version-1 envelopes from the old prerelease cannot be loaded by the v4 lifecycle. originalsLegacy.ts loads the pinned @originals/sdk-legacy alias only for those archives, preserving their signatures, identities and existing device keys when verifying or publishing. This intentionally retains the old SDK for compatibility; do not remove it while those archives remain in use. No stored histories are rewritten or re-minted by this upgrade. See the upstream migration guide.

Focused verification: bun test scripts/originals.test.mjs scripts/published-version.test.mjs scripts/cel-migration.test.mjs.

Sites

boop also includes Sites, a public publishing surface alongside private and shared todo lists. Signed-in users can paste or upload a single HTML file, publish it to a generated *.boop.ad hostname, replace the HTML later, and connect a custom domain while preserving the site's portable did:webvh identity.

See docs/sites.md for the product flow, architecture, identity model, deployment settings, and focused verification commands.

Development

# Install dependencies
bun install

# Run locally (requires .env.local with Convex/Turnkey config)
bun dev

# Deploy frontend to Railway
railway up

# Deploy Convex functions
npx convex deploy

Tests

Run unit tests with bun test. Browser tests use the e2e runner installed for this project (Node 22.12+), with Playwright as its browser engine:

npx playwright install chromium
bun run test:e2e:typecheck
bun run test:e2e

The runner collects only tests/**/*.e2e.ts and starts and stops its own Vite server and isolated Convex protocol fixture on free loopback ports. All 113 tests from the deleted Playwright browser suite have been ported, alongside the three existing public-page tests. They cover auth, lists/items, sharing, onboarding, offline indicators, settings, accessibility, profile, pricing, and legal pages. No live backend, account, Stripe key, or AI API key is needed.

npx e2e list lists the tests without starting a browser. bun run test:e2e tests/items.e2e.ts runs one file. See docs/e2e-migration.md for the legacy coverage map, fixture design, and what these mocked browser tests do not verify.

CI runs this same suite and uploads .e2e/ reports, logs, and failure artifacts. The configured AI agent is available for future flows; only tests that use agent.* need AI_GATEWAY_API_KEY.

Domains

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages