Saleor Store
우리 컬렉션을 쇼핑하세요
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Független magyar kínai autó-iránytű — Next.js 15 + Supabase + Vercel
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Független magyar nyelvű kínai autó-iránytű — Next.js 15 (App Router) + TypeScript + Supabase, Vercel-ra optimalizálva. • Next.js 15 App Router, server-rendered minden oldal (SEO + LLM friendly) • React 18 + TypeScript strict • Tailwind CSS 3 + globális design tokenek (globals.css) • Supabase Postgres + Storage + RLS (publikus olvasás) • Lucide ikonok (lucide-react) • Vercel hosting + edge OG image generationREADME 전문 보기 ↗
Független magyar nyelvű kínai autó-iránytű — Next.js 15 (App Router) + TypeScript + Supabase, Vercel-ra optimalizálva.
globals.css)lucide-react)site/
├── src/
│ ├── app/ # Next.js App Router
│ │ ├── layout.tsx # Top-bar / footer / fonts / global JSON-LD
│ │ ├── page.tsx # Főoldal
│ │ ├── kinalat/page.tsx # Kínálat (függőleges vizualizáció)
│ │ ├── osszehasonlitas/page.tsx
│ │ ├── markak/{page,[slug]/page}.tsx
│ │ ├── modellek/{page,[brand]/[model]/page}.tsx
│ │ ├── tudastar/{page,[slug]/page}.tsx
│ │ ├── opengraph-image.tsx # /opengraph-image — branded 1200x630 PNG
│ │ ├── icon.tsx # Favicon
│ │ ├── sitemap.ts # Dinamikus sitemap.xml
│ │ ├── robots.ts # Dinamikus robots.txt (AI-bot allow-list)
│ │ ├── llms.txt/route.ts # /llms.txt (LLM SEO konvenció)
│ │ └── llms-full.txt/route.ts # /llms-full.txt — teljes tartalmi dump
│ ├── components/ # UI komponensek (page-specifikus + shared)
│ ├── lib/ # Adat-, env-, format- és SEO-helperek
│ └── data/seed.ts # Lokális seed (fallback ha nincs Supabase)
├── public/assets/tiggo8-green.avif
├── supabase/schema.sql # Teljes adatbázis-séma + seed (copy-paste)
├── next.config.ts
├── tailwind.config.ts
├── tsconfig.json
├── vercel.json # Header / redirect szabályok
├── .env.local.example
└── package.json
npm install
cp .env.local.example .env.local
# töltsd ki a NEXT_PUBLIC_SUPABASE_URL / NEXT_PUBLIC_SUPABASE_ANON_KEY mezőket
npm run dev
A .env.local nélkül is elindul a site — ekkor a src/data/seed.ts-ben tárolt
seed dataset szolgálja ki a tartalmat (60 modell, 15 márka). Ez ugyanaz az
adatkészlet, ami a supabase/schema.sql-be is bekerül.
supabase/schema.sql teljes tartalmát a Supabase SQL Editorba és futtasd. Ez létrehozza:
brands, models, model_trims, model_photos,
categories, drives, price_bands, articles, …)car-photos, brand-logos, og-images)v_models, v_brand_summary, v_data_freshness).env.local-ben:
NEXT_PUBLIC_SUPABASE_URL=https://YOUR-REF.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=...
NEXT_PUBLIC_SITE_URL=https://www.kinaiauto.com
car-photos bucketbe
models/tiggo-8/hero.avif útvonalra. A seedben a model_photos rekord már
regisztrálva van — automatikusan megjelenik.supabase/cms-schema.sql — archived_at oszlopok, model_extractions
tábla és pdf-uploads privát storage bucket.supabase/production-seed.sql — kitisztítja a tesztárakat /
specifikációkat, csak a márka- és modell-azonosítást hagyja meg
(a tényleges adatok a CMS-en át / extract-pipeline-en keresztül kerülnek
be).Minden frontend komponens pontosan a Supabase oszlopneveket olvassa
(v_models view-on keresztül). Cseréld a seed.ts-t Supabase queryre, és a
UI változtatás nélkül megy.
A leggyakoribb mezők (id-k snake_case-ben):
| ModelRow mező | Forrás (SQL view) |
|---|---|
id | models.id |
slug | models.slug |
name | models.name |
is_deal | models.is_deal |
is_featured | models.is_featured |
price_min_m_ft | models.price_min_m_ft |
price_max_m_ft | models.price_max_m_ft |
length_mm | models.length_mm |
trunk_l | models.trunk_l |
seats | models.seats |
power_hp | models.power_hp |
battery_kwh | models.battery_kwh |
range_km | models.range_km |
brand_id/slug/name | brands.id/slug/name |
category / drive | categories.label_hu / drives.label_hu |
primary_photo_path | LATERAL subquery a model_photos-ban |
gh repo create kinaiauto --public --source=site && git push (vagy a
Vercel dashboardon import-old a repót).www.kinaiauto.com és apex kinaiauto.com → www.next build).A vercel.json tartalmaz:
*.html → új útvonal 301 redirect-eket/llms.txt-reOrganization + WebSite (gyökér layoutban)BreadcrumbList minden subpage-enVehicle minden modell oldalon (Schema.org Vehicle)FAQPage a Tudástár főoldalonArticle a cikk-oldalakon/sitemap.xml dinamikus, minden modell + márka + cikk benne/robots.txt allow-list AI crawlereknek (GPTBot, ClaudeBot, PerplexityBot…)/llms.txt + /llms-full.txt — strukturált LLM-ground content/opengraph-image)hreflang=hu-HU minden oldalon/c4m5s6Belső adminfelület a Supabase backend kezelésére. Belépés: https://www.kinaiauto.com/c4m5s6. Nem indexelt, robotok elől tiltott (robots: noindex), middleware védi.
Belépés: CMS_PASSWORD env-változóban beállított jelszó. Sikeres belépés után 7 napig érvényes, HMAC-aláírt session cookie. Minden CMS-route és /api/cms/* végpont ezt ellenőrzi a src/middleware.ts-ben.
Funkciók:
brand-logos és car-photos Supabase Storage bucketekbe).pdf-parse v2 vagy HTML→szöveg konverzió)model_extractions táblába menti pending státusszalmodels rekordba (csak nem-üres mezők)A CMS-hez szükséges env-változók:
SUPABASE_SERVICE_ROLE_KEY=... # service role — bypass RLS
CMS_PASSWORD=... # admin jelszó
CMS_SESSION_SECRET=... # 64 hex char (crypto.randomBytes(32))
ANTHROPIC_API_KEY=... # opcionális, Claude használathoz
OPENAI_API_KEY=... # opcionális, OpenAI használathoz
Legalább az egyik LLM-kulcs kell ahhoz, hogy a 2-es Mód működjön.
models-be, a v_models view automatikusan tartalmazza. (Vagy a CMS-en keresztül.)brands-be — a [slug]/page.tsx route automatikusan generálódik. (Vagy a CMS-en keresztül.)articles-be — a body_blocks JSONB struktúrát ki kell tölteni; a renderer most placeholder, később bővítés.Belső projekt. Minden adat / kép tájékoztató jellegű.