templates2.Landing.Next/README.md
w4c-templates 36248a675a
Some checks are pending
CI / quality (push) Waiting to run
chore(template): publish Landing.Next
2026-10-11 23:23:51 +03:00

1.8 KiB

Landing / Marketing — Next.js (templates2)

A ready-to-run marketing site forked from templates2.Base.Next: 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).

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

Route What it is
/ Hero + feature grid + CTAs
/features Feature detail
/pricing Plans (mock checkout works with no keys)
/blog + /blog/[slug] Post list & article (static collection in lib/posts.ts)
/faq FAQ with FAQPage JSON-LD
/about, /contact Story + lead form
/legal/privacy, /legal/terms Placeholder legal
/admin/leads Captured leads (admin only)

What this case adds over the base

  • Lead capture — POST /api/leads (public, validated with zod) persists to the Lead table and notifies the owner via the email provider (log by default, Resend from env). Used by the contact page and the footer newsletter.
  • Blog — a static post collection with tags, reading time and per-post metadata + Article JSON-LD; an RSS feed at /rss.xml.
  • SEO — Organization/WebSite JSON-LD on home, FAQPage on /faq, a sitemap that includes every page and post.
  • Admin leads — a leads table in the admin shell.

Env

See .env.example. Nothing is required: SQLite + mock providers run with zero configuration.

Quality

node templates2/qa.mjs Landing.Next

See ../CONTRACT.md for the Definition of Done.