Saleor Store
우리 컬렉션을 쇼핑하세요
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Totul se licitează. LiciTot is a Romanian online auction marketplace. Every account can both sell and bid, and the platform keeps a 5% fee on completed auctions.
⚠️ Payments currently run on Stripe sandbox keys (the site shows a banner), and the operator in the legal pages is a placeholder (
src/lib/legal.ts). Have a lawyer review the legal texts before a real launch.
See CLAUDE.md for conventions and BRAND.md for the brand system.
Requirements: Node ≥ 22 and pnpm (npm i -g pnpm).
pnpm install
cp .env.example .env.local # fill in values as phases need them
pnpm dev # http://localhost:3000
| Command | What it does |
|---|---|
pnpm dev | Dev server (Turbopack) |
pnpm build | Production build |
pnpm check | Lint + typecheck + unit tests |
pnpm test | Vitest (money, dates, phone, brand contrast) |
pnpm icons | Regenerate logo files, favicon and PWA icons |
pnpm icons:ui | Regenerate the UI icon set (Phosphor) |
.env.local: URL, publishable key, secret key, project ref, access token (Account → Access Tokens) and DB password.pnpm db:link # once
pnpm db:push # apply supabase/migrations
pnpm db:config # apply auth settings from supabase/config.toml
pnpm db:types # regenerate src/types/database.ts
pnpm test:db # verify RLS policies against the project
https://<ref>.supabase.co/auth/v1/callback.SUPABASE_AUTH_EXTERNAL_GOOGLE_CLIENT_ID and SUPABASE_AUTH_EXTERNAL_GOOGLE_SECRET in .env.local.enabled = true under [auth.external.google] in supabase/config.toml.pnpm db:config..env.local.
/licitot/auctions/<user id>/ and /licitot/avatars/<user id>/.f-auto) is requested per URL.pk_test_…, sk_test_…) in .env.local and .env.vercel.
STRIPE_WEBHOOK_SECRET, STRIPE_CONNECT_WEBHOOK_SECRET):
pnpm stripe:webhooks https://licitot.ro
Vercel project lici-tot/licitot builds from GitHub on its own servers. Every push to main goes to production; other branches get preview deployments (protected by Vercel login). Server parts (sign-in, Server Actions, the proxy) run as functions in Dublin (dub1, vercel.json), next to Supabase (eu-west-1). Static and cached pages come from Vercel's CDN (Frankfurt for visitors in Romania).
pnpm vc <command> (Vercel CLI 62.4.0); log in once with pnpm vc login.NEXT_PUBLIC_*, SUPABASE_SECRET_KEY, IMAGEKIT_PRIVATE_KEY, STRIPE_*, CRON_SECRET, plus ENABLE_EXPERIMENTAL_COREPACK=1 (so Vercel installs pnpm 12 from packageManager). The values are in the git-ignored .env.vercel; set one with pnpm vc env add NAME production (value on stdin), then redeploy.licitot-orders-http in Supabase calls POST /api/cron/orders through pg_net, with CRON_SECRET read from Supabase Vault (licitot_cron_secret). If you change CRON_SECRET, update it in Vercel and in Vault (select vault.update_secret(id, 'new value')). Check runs in cron.job_run_details and responses in net._http_response.E2E_BASE_URL=https://licitot.ro pnpm test:e2e (no local server).The site is served at https://licitot.ro; the domain is registered at ROTLD (registrar ICI). DNS records:
| Type | Name | Value |
|---|---|---|
| A | licitot.ro | 76.76.21.21 (Vercel) |
| CNAME | www | cname.vercel-dns.com (Vercel redirects it to licitot.ro) |
| TXT | _vercel.licitot.ro | the two vc-domain-verify=… values from Vercel |
If the DNS is on Cloudflare, these records must be DNS only (grey cloud). HTTPS is a Let's Encrypt certificate issued and renewed by Vercel.
If the address ever changes: update NEXT_PUBLIC_SITE_URL in Vercel, SUPABASE_AUTH_SITE_URL and SUPABASE_AUTH_PROD_REDIRECT in .env.local, run pnpm db:config so Supabase allows sign-in redirects to the new address, update the URL in private.call_orders_job() (new migration), move the Stripe webhook endpoints to the new URL (Stripe doesn't follow redirects), then redeploy.
A Cloudflare Workers setup (OpenNext) is kept on the cloudflare branch for later; it needs the Workers Paid plan and an OpenNext release with the Cache Components fix.
/brand), logo, layout4242 4242 4242 4242, any future date and CVC. In seller onboarding (test mode), the phone code is 000 000.