1.4 KiB
1.4 KiB
Landing / Marketing — Nuxt 3 (templates2)
A ready-to-run marketing site forked from templates2.Base.Nuxt: multi-page marketing, lead
capture, a blog with RSS and full SEO artifacts — plus the whole base core (auth, roles, admin,
mock payments/email, Docker, CI). Feature-parity with templates2.Landing.Next.
Quickstart
npm ci
cp .env.example .env # SQLite + mock providers by default — no keys needed
npm run db:setup # prisma db push + seed
npm run dev # http://localhost:3000
Admin account (seeded): admin@example.com / password.
Pages
/ · /features · /pricing · /blog + /blog/[slug] · /faq · /about · /contact ·
/legal/* · /admin/leads.
What this case adds over the base
- Lead capture —
POST /api/leads(public, zod-validated) persists toLeadand notifies the owner through the email provider (log by default, Resend from env). Used by the contact page and the footer newsletter. - Blog — a static post collection (
shared/posts.ts) with tags, reading time and per-post metadata +ArticleJSON-LD; RSS at/rss.xml. - SEO — Organization/WebSite JSON-LD on home,
FAQPageon/faq, and a sitemap covering every page and post. - Admin leads — a leads table in the admin shell.
Quality
node templates2/qa.mjs Landing.Nuxt
See ../CONTRACT.md for the Definition of Done.