尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 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.