Saleor Store
우리 컬렉션을 쇼핑하세요
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기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.