Ecommerce Template
Next.js·React 등으로 만든 최신 전자상거래 템플릿
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Regionale Lebensmittel direkt vom Bauern — eine digitale Vermittlungsplattform im Pilotbetrieb. • Framework: Next.js 16 (App Router, Turbopack) • Datenbank: PostgreSQL via Supabase + Prisma 7 (PrismaPg Adapter) • Auth: Better Auth 1.6 • Zahlungen: Stripe Connect Express + Webhooks • E-Mail: Resend + react-email • Styling: Tailwind CSS 4 • Upload: Vercel Blob • Deployment: Vercel Voraussetzungen • Node.js 20+ • pnpm (npm install -g pnpm) • Stripe CLI (für lokales Webhook-Testing) • Supabase-Konto mit PostgreSQL-Datenbank Fülle alle Felder in .env.local aus (Supabase, Stripe, Resend, etc.).README 전문 보기 ↗
Regionale Lebensmittel direkt vom Bauern — eine digitale Vermittlungsplattform im Pilotbetrieb.
| Bereich | Feature |
|---|---|
| Öffentliche Hof-Seite | Produkte anzeigen, Warenkorb, Abholzeit wählen, Online- oder Vor-Ort-Zahlung |
| Bestellabwicklung | Stripe-Zahlung, E-Mail-Bestätigungen (Kunde + Bauer), Abholbestätigung |
| Farmer-Dashboard | Bestellübersicht, Produkt- und Bestandsverwaltung, Direktverkauf eintragen |
| Auswertung | Umsatz nach Zeitraum, Verkaufskanal-Vergleich |
| Einstellungen | Hof-Profil, Abholzeiten, Stripe Connect, Pause/Urlaub |
corepack enable oder npm install -g pnpm) — nie npm oder yarn im Projektgit clone <repo-url>
cd bauern-plattform
pnpm install
cp .env.example .env.local
Fülle alle Felder in .env.local aus (Supabase, Stripe, Resend, etc.).
# Alle Migrationen einspielen (nie `prisma db push` — siehe DEVELOPMENT.md, „Schema-Änderungen")
pnpm exec dotenv -e .env.local -- prisma migrate deploy
# Testdaten laden: 37 erfundene Höfe im Innviertel, Produkte in allen Kategorien,
# Bestellungen, Kostenposten, Meldungen. Der Seed nennt am Ende alle Zugänge
# (Passwort überall test1234) und je Hof einen Satz, was dort zu testen ist.
pnpm db:seed
Der Seed läuft nur gegen die Dev-Datenbank (farmerzone-dev), nie gegen Produktion.
pnpm dev
App läuft auf http://localhost:3000.
# In separatem Terminal:
stripe listen --forward-to localhost:3000/api/stripe/webhook
Den ausgegebenen whsec_...-Secret als STRIPE_WEBHOOK_SECRET in .env.local eintragen.
vercel
Oder über vercel.com importieren.
Alle Variablen aus .env.example im Vercel Dashboard unter Settings → Environment Variables eintragen.
Wichtig für Produktion:
BETTER_AUTH_URL = https://deine-domain.atNEXT_PUBLIC_APP_URL = https://deine-domain.atSTRIPE_SECRET_KEY = Live-Key (sk_live_...) — nur für Production; ein Live-Schlüssel (sk_live_/rk_live_) startet Stripe nur bei VERCEL_ENV=production (Modus-Wache, Register Z2): nicht in Vorschau, Tests und lokal mit next dev. Lokal mit next start startet er, sobald VERCEL_ENV=production gesetzt ist (etwa nach vercel env pull --environment=production)VERCEL_ENV zur Laufzeit sperrt die Modus-Wache Stripe mit Live-Schlüssel auch in der ProduktionNEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY = Live-Key (pk_live_...), ebenfalls nur für ProductionEMAIL_FROM = Adresse von verifizierter Resend-DomainDie Umstellung von Test auf Live Schritt für Schritt: docs/betrieb/stripe-live.md.
Die Testumgebung (Branch staging unter einer eigenen Adresse, Entwicklungsdatenbank, Stripe-Test) mit ihren Branch-Variablen NEXT_PUBLIC_APP_URL, BETTER_AUTH_URL, STRIPE_WEBHOOK_SECRET und TEST_EMPFAENGER sowie NEXT_PUBLIC_TESTUMGEBUNG_URL für Production: docs/betrieb/testumgebung.md.
Im Stripe Dashboard einen neuen Webhook anlegen:
https://deine-domain.at/api/stripe/webhookpayment_intent.succeeded, payment_intent.payment_failed, payment_intent.canceled, refund.failed, charge.refund.updated, account.updated — ohne canceled wird eine abgebrochene Zahlung nie storniert und ihre Ware bleibt reserviert; ohne die beiden Erstattungs-Ereignisse bleibt eine später gescheiterte Erstattung unbemerkt.STRIPE_WEBHOOK_SECRET in Vercel eintragen.Dazu einen zweiten Endpunkt für die verbundenen Höfe („Events von verbundenen Konten“ / Connect):
https://deine-domain.at/api/stripe/webhookaccount.updated — hält „Online-Zahlung bereit“ aktuell, wenn Stripe ein Hof-Konto sperrt oder wieder freigibt.STRIPE_CONNECT_WEBHOOK_SECRET in Vercel eintragen — das Live-Secret nur für Production, ein Test-Secret für Preview. Die Route prüft gegen beide Secrets.vercel.json enthält bereits die Cron-Jobs (einmal täglich, mehr erlaubt der Hobby-Tarif nicht):
Reservierungs-Bereinigung, Freigabe verwaister Bestellungen (/api/cron/verwaiste-bestellungen)
und den Wochenlauf des Briefkastens. CRON_SECRET muss in Vercel gesetzt sein — ohne bleiben
alle Cron-Routen gesperrt.
prisma migrate deploy)sk_live_..., pk_live_...)resend.com/domains)EMAIL_FROM auf verifizierte Domain-Adresse gesetzt (z.B. [email protected])/api/test-email)/impressum)/[slug])/account) dient nur der Verwaltung von Benachrichtigungen/admin freigeschaltetProprietär — Pilotprojekt, nicht für die Öffentlichkeit freigegeben.