LiciTot este piața de licitații online din România. Licitează, vinde și câștigă — simplu și sigur.
Translation pending
CommerceTypeScript · PLpgSQLGitHub @Web-Whiz1OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full 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.