尚未检测到更新。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.