{"repo":"ansonstone6/nextjs-b2b-quote-builder","free":true,"listed":false,"github":"https://github.com/ansonstone6/nextjs-b2b-quote-builder","clone":"git clone https://github.com/ansonstone6/nextjs-b2b-quote-builder.git","description":"Next.js B2B quote builder with server-side pricing (Prisma + Postgres), live line-item breakdown, PDF export, and optional AI chat. Supabase-friendly.","language":"TypeScript","stars":16,"topics":["b2b","cpq","nextjs","openai","pdf-generation","postgresql","prisma","react","reset-api","supabase"],"license":null,"category":"databases-storage","readme_excerpt":"Configurable Quote Builder Next.js app for B2B configurable pricing and quotes: Prisma + Postgres (e.g. Supabase), server-side pricing rules, PDF export, and optional AI chat (OpenAI, Vercel AI SDK, shadcn/ui). Tech stack Layer Package ------- --------- Framework Next.js 16 (App Router) Language TypeScript Database Prisma ORM, Postgres Styling Tailwind CSS v4 UI shadcn/ui + Base UI PDF @react-pdf/renderer AI (optional) Vercel AI SDK ( ai ), @ai-sdk/openai Validation Zod Environment variables Copy .env.example to .env.local and adjust. Variable Required Purpose ---------- ---------- --------- DATABASE URL Yes (for app + Prisma) Postgres connection string OPENAI API KEY No Only for /chat NEXT PUBLIC SUPABASE URL No Only if you use Supabase JS helpers ( src/lib/supabase/ ) NEXT PUBLIC SUPABASE PUBLISHABLE KEY No Same; falls back to legacy NEXT PUBLIC SUPABASE ANON KEY SUPABASE SECRET KEY No Only for createSupabaseAdminClient ; legacy SUPABASE SERVICE ROLE KEY also works QUOTING BRAND NAME No PDF header line QBO CLIENT ID , QBO CLIENT SECRET , QBO REDIRECT URI , QBO ENVIRONMENT , TOKEN ENCRYPTION KEY No QuickBooks module only Supabase Postgres and IPv4 The direct host db. .supabase.co:5432 is often IPv6-only . On many home or office networks you will see Prisma P1001 (can’t reach database server) . Use the Session pooler URI from the dashboard instead: Project - Connect - Connection pooling - Session mode (host like .pooler.supabase.com , port 5432 ). Put that full URI in DATABAS","default_branch":null,"files":null,"tree":[],"storefront":"/r/ansonstone6","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/ansonstone6/nextjs-b2b-quote-builder/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}