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