尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證正在載入完整 README。 以下為已儲存的摘錄。
A marketplace for original artwork, built around one idea: every piece carries a
verifiable identity — who made it, who owns it now, and everywhere it has been.
Three portals run on the same catalogue: artists list and price their work,
aggregators take pieces on display in real galleries, and collectors buy,
own and resell them. A QR code on each piece resolves to its public passport.
This repository is the website and its API.
One env file for everything: copy .env.example to .env at the repo root and
fill it in (Firebase web config, the Admin SDK key path). Both apps read it.檢視完整 README ↗A marketplace for original artwork, built around one idea: every piece carries a verifiable identity — who made it, who owns it now, and everywhere it has been. Three portals run on the same catalogue: artists list and price their work, aggregators take pieces on display in real galleries, and collectors buy, own and resell them. A QR code on each piece resolves to its public passport.
This repository is all of it: the website, its API and the mobile app.
| Folder | What it is |
|---|---|
frontend-web/ | Next.js 16 site (App Router). Deployed on Vercel. |
backend/ | NestJS API on Firestore (Firebase Admin SDK is the only writer). npm-workspaces monorepo: apps/api, packages/{domain,db,contracts,config}. |
mobile/ | Flutter app (Android and iOS) for artists, aggregators and collectors. Talks to the same API. See mobile/README.md. |
docs/ | Design notes, the backend master plan, audits. |
One env file for everything: a .env at the repo root (Firebase web config, the
Admin SDK key path). It is never committed, so ask a maintainer for the values.
Both apps read it.
# API → http://localhost:8080
cd backend && npm ci && npm run dev
# website → http://localhost:3000
cd frontend-web && npm ci && npm run dev
npm run check in backend/ runs the verification suite (contract tests,
state machines, pricing replay, type-check, build). npm run build in
frontend-web/ must pass before a push; npm run test:smoke drives it with
Playwright.
frontend-web.
Set the NEXT_PUBLIC_* variables in the project's
Environment Variables (NEXT_PUBLIC_SITE_URL = the production domain — it is
baked into QR codes; NEXT_PUBLIC_API_URL = where the API is hosted).CORS_ORIGINS. Build with npm run build, run
with node --experimental-strip-types apps/api/dist/main.js.cd backend && npx firebase-tools deploy --only firestore.Money is integer paise. Every API error is RFC 7807 ({type,title,status,code}).
Every route carries @Roles() or @Public(). Authorization is always re-read
from users/{uid} in Firestore, never from the ID token's claims. Small,
verified commits, pushed to main.