Skip to content

likecoin/3ook-com

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,125 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

3ook.com

Read. Listen. Own. A Nuxt 3 PWA for a third-generation bookstore ecosystem: thousands of Chinese ebooks with Cantonese, Mandarin, and English custom-voice narration, where books are bought once and owned permanently in the reader's wallet. Merges AI-enhanced reading with Web3 ownership on the Base blockchain, plus wallet integration and Plus subscription features.

Tech stack: Nuxt 3.20+ (Vue 3, TypeScript 5.8), Tailwind CSS via @nuxt/ui, wagmi/viem (Base chain), Pinia, TanStack Query, Firebase Admin, Airtable CMS.

Setup

npm install

Development

npm run dev              # Dev server on http://localhost:3000
npm run lint             # ESLint (4 known v-html warnings are expected)
npm run lint:fix         # Auto-fix lint issues
npm run typecheck        # Type check via vue-tsc (~30 seconds)
npm run test             # Vitest in watch mode (Nuxt environment)
npm run test:run         # Vitest one-shot (used in CI)

CI Pipeline

GitHub Actions runs on push/PR: npm cinpm run test:runnpm run lintnpm run typechecknpm run build. All must pass. Tests live in test/unit/ (Vitest + @nuxt/test-utils, happy-dom); there is no end-to-end suite yet.

Production Build

NODE_OPTIONS=--max-old-space-size=8192 npm run build
npm run preview          # Preview production build

Note: Always set NODE_OPTIONS=--max-old-space-size=8192 for builds to avoid OOM.

Environment

  • 45+ env vars — see apphosting.mainnet.yaml and apphosting.sepolia.yaml for full lists
  • Testnet: IS_TESTNET=TRUE targets Base Sepolia with separate API endpoints and Airtable bases
  • Mainnet: IS_TESTNET omitted/false targets Base mainnet with production endpoints
  • Critical runtime var: NUXT_SESSION_PASSWORD (min 32 chars)
  • Keep env vars sorted alphabetically in .env.example and apphosting.*.yaml

Deployment

Firebase App Hosting (Cloud Run):

  • apphosting.mainnet.yaml — 3ook.com
  • apphosting.sepolia.yaml — sepolia.3ook.com

Documentation

About

3ook.com — Read, Listen, Own. The 3rd-gen bookstore ecosystem where authors and readers co-create a decentralized home for books and periodicals. By merging AI-enhanced experiences with Web3 ownership, we safeguard the freedom to read and the integrity of our shared history.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages