Next.jsReact启动器

painters-nextjs-template — Next.js 启动器模板

作者 jayandudakiya

面向油漆施工与商业装修服务商的 Next.js 网站模板,提供两套可切换的首页方案,业务文案、服务、案例与联系方式集中在 lib/data.ts 中配置。

看看你的网站会是什么样

浏览真实页面截图,比较内容排版与手机效果。点击下方缩略图切换,放大查看整页细节。

2 个预览视图
桌面端首页1 / 2
桌面端截图首屏预览

由服务器浏览器实际访问页面后截取。

全部页面与视图 2

截图用于了解视觉与布局,交互效果请以实际项目为准。

采集于 2026-10-14查看来源

值得关注的模板亮点

从已有项目资料中,快速了解它的特点。

01

两套可切换首页:/ 面向住宅与历史建筑,/home-2 面向商业装修与工程服务

02

业务文案、服务、项目、统计、电话与郊区目录集中在 lib/data.ts 统一配置

03

使用 Next.js 16 App Router 与 Turbopack、React 19、TypeScript、Tailwind CSS v4、Radix UI 和 Lucide 图标

04

内置 HomeAndConstructionBusiness Schema.org JSON-LD 结构化数据

05

包含可筛选案例、项目滑块、FAQ 手风琴、客户评价与报价表单等页面区块

06

README 说明支持移动端、平板与宽屏布局,并包含 ARIA 属性与键盘导航

模板详细介绍

该模板基于 Next.js 16 App Router 与 Turbopack、React 19、TypeScript、Tailwind CSS v4、Radix UI 和 Lucide 图标构建,README 声明采用 MIT 许可。项目内置两套首页:根路由 / 为住宅与历史建筑方向的编辑式首页,包含主漆匠故事、6 张服务卡片、可筛选案例、4 步客户流程、3 条评价与双栏 FAQ;/home-2 为商业装修方向,包含全幅图片叠加服务卡、深色项目滑块、Surface Preparation 专区、2x2 信任网格、蓝色联系条与 Adelaide 服务地图。两套首页共用粘性页头、页脚与联系表单,页头可切换首页版本,“Get A Free Quote” 会滚动到 #contact。所有业务信息、服务、项目、统计、电话与郊区目录集中在 lib/data.ts。README 未说明表单提交后的实际后端处理、数据持久化或第三方集成,也未提供性能、SEO 排名或生产环境运行结果方面的保证。

Next.js启动器

适合你的项目吗?

适用场景

  • 为油漆施工承包商搭建展示服务、案例与联系方式的营销网站
  • 为商业装修或工程服务企业搭建以商业项目为主的首页
  • 在同一代码库中维护住宅与商业两条业务线的不同首页版本
  • 通过集中数据文件快速替换公司名称、电话、邮箱、服务区域与案例内容

适合人群

  • 需要快速启动油漆或装修服务网站的前端开发者
  • 希望以 Next.js 与 Tailwind CSS 为基础进行二次开发的团队
  • 需要住宅与商业两种首页风格的服务型企业
  • 接受使用集中数据文件维护站点内容的项目

上手与定制指南

结合仓库当前版本的说明,按下面的资料检查内容、配置与运行要求。

  1. 1

    需要 Node.js 20.x 或更高版本,包管理器可使用 pnpm(推荐)、npm 或 yarn

  2. 2

    克隆仓库后运行 pnpm install,再用 pnpm dev 启动本地开发服务器

  3. 3

    本地预览地址:Home V1 为 http://localhost:3000,Home V2 为 http://localhost:3000/home-2

  4. 4

    公司信息、服务、项目与 FAQ 在 lib/data.ts 中修改,品牌色在 app/globals.css 中调整

  5. 5

    README 推荐部署到 Vercel,导入仓库后由平台自动识别 Next.js 并构建

查看仓库使用说明

授权与来源资料

使用条件与限制

免费使用 · 保留许可声明

本次收录的是公开仓库中采用 MIT 许可的免费版本;免费范围为该版本代码,不代表外部服务或第三方素材免费。

使用时需要遵守

  • 允许免费使用、修改、商用和分发该版本代码。
  • 分发代码副本或实质性部分时,保留原作者版权声明和完整 MIT 许可声明。
  • 代码按现状提供;担保与责任限制以原许可证及适用法律为准。

额外费用与待核对事项

  • 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
  • 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
查看原文依据

DeepSeek 根据仓库许可证和 README 整理 ·2026-10-14。结果仅覆盖已读取资料,依赖、图片、字体及后续条款变更以各自原文为准。

项目核对记录与介绍依据

模板资料

来源平台
GitHub
资料与维护参考分
资料较完整 · 80 / 100
技术栈
Next.js · React
网站类型
启动器
这个分数如何计算

本站按许可资料(最高30分)、演示链接(12分)、预览图(10分)、Star数(15分)、记录的维护时间(15分)、描述完整度(8分)、功能记录(5分)和分类资料(5分)计算。它不是代码、安全或性能测试,也不是 Google 评分;有链接不代表已实测可用。

这个项目需要核对什么

记录的仓库更新时间
2026-09-20
截图检查日期
2026-10-14

已收录演示链接。请用你的内容与屏幕尺寸检查;有演示不代表表单、认证或支付已经可用。

目录记录的主要技术栈是 Next.js。请通过依赖清单和锁文件核对实际版本与托管要求。这些说明基于收录资料,不代表代码审计或部署实测。

查看具体选型方法 →

介绍的制作与核对状态

介绍由 AI 辅助整理目录与仓库资料。仓库作者不等于这篇介绍的审核者。

审核声明: codex-user-requested-batch-review-20261015 · 2026-10-15

查看当时使用的来源资料

SHA-256: 387d78f6a022b2c8727ba19e3711c8788c1fcb7fc0344f9b41e6e5356ac9b172

2026-10-14T23:12:07.164Z

来源文件 / 仓库
# 🎨 Vanguard Painting Co. — Premium Next.js 16 Website Template

[![Next.js 16](https://img.shields.io/badge/Next.js-16.3.4-black?style=for-the-badge&logo=next.js)](https://nextjs.org/)
[![React 19](https://img.shields.io/badge/React-19.2.8-blue?style=for-the-badge&logo=react)](https://react.dev/)
[![TypeScript](https://img.shields.io/badge/TypeScript-5.9-3178C6?style=for-the-badge&logo=typescript)](https://www.typescriptlang.org/)
[![Tailwind CSS v4](https://img.shields.io/badge/Tailwind_CSS-v4.3-38B2AC?style=for-the-badge&logo=tailwind-css)](https://tailwindcss.com/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg?style=for-the-badge)](./LICENSE)

A high-converting, production-ready, open-source website template engineered for professional painting contractors, commercial fitout specialists, and trade service businesses. Built with **Next.js 16 (App Router & Turbopack)**, **React 19**, **Tailwind CSS v4**, **Radix UI**, and **Lucide Icons**.

---

## 📸 Homepage Variations

This project includes **two distinct, production-grade homepage experiences** out of the box, switchable via the navigation header:

| Variation | Route | Target Audience & Aesthetic |
|---|---|---|
| **Home (V1)** | `/` | **Flagship Residential & Heritage**: High-end editorial aesthetic with master painter craftsmanship storytelling, 6 detailed service cards with feature bullets, filterable portfolio showcase, 4-step client timeline, 3 verified reviews, and 2-column FAQ. |
| **Home 2 (V2)** | `/home-2` | **Commercial Fitouts & Trade Architecture**: High-impact commercial identity featuring full-bleed image-overlay cards, dark interactive project showcase slider with arrow navigation, dedicated **Surface Preparation** feature section, 2x2 trust grid with on-site trade photos, full-width blue contact bar, and interactive Adelaide service map. |

---

## 🗺️ System & User Journey Flow

### 1. Dual-Route Architecture
```mermaid
graph TD
    A[Visitor Arrives] --> B[Sticky Header Navigation]
    B -->|Click 'Home'| C[Route: / - Flagship Editorial Homepage]
    B -->|Click 'Home 2'| D[Route: /home-2 - Commercial Showcase Homepage]
    B -->|Click 'Get A Free Quote'| E[Smooth Scroll to #contact]
    
    subgraph "Home (V1) Flow"
        C --> C1[Hero with 5.0 Google Badge]
        C1 --> C2[Trust Metrics Bar]
        C2 --> C3[About & Master Craft Story]
        C3 --> C4[Editorial Services Grid]
        C4 --> C5[Filterable Portfolio Showcase]
        C5 --> C6[Why Choose Us - 4 Pillars]
        C6 --> C7[4-Step Client Process]
        C7 --> C8[Verified Customer Reviews]
        C8 --> C9[2-Column FAQ Accordion]
        C9 --> C10[High-Impact Final CTA]
        C10 --> C11[Quote Form & Adelaide Office]
    end

    subgraph "Home 2 (V2) Flow"
        D --> D1[Commercial Painting Hero]
        D1 --> D2[Trust Metrics Bar]
        D2 --> D3[Overlay Image Cards: Fitouts, Offices, Medical]
        D3 --> D4[Dark Carousel Showcase with Arrow Controls]
        D4 --> D5[Stacked FAQ with Direct Contact Button]
        D5 --> D6[Dedicated Surface Preparation Section]
        D6 --> D7[Why Choose Us: 2x2 Icons + Painters Photo]
        D7 --> D8[Full-Width Blue Contact Bar Strip]
        D8 --> D9[Talk To Our Painters + Adelaide Map Hub]
    end
    
    C11 --> F[Footer & Suburb Directory]
    D9 --> F
```

### 2. Lead Conversion Pipeline
```mermaid
sequenceDiagram
    autonumber
    actor Client as Property Owner
    participant Web as Next.js Website
    participant Form as Quote Engine
    participant Team as Trade Estimator

    Client->>Web: Explores Services / Surface Prep / Portfolio
    Client->>Web: Clicks 'Get a Free Quote' or 'Book An Estimate'
    Web->>Client: Scrolls directly to Quote Form (#contact)
    Client->>Form: Enters Name, Phone, Email, Property Type & Suburb
    Form->>Web: Validates inputs & triggers instant confirmation state
    Form->>Team: Delivers lead specification for 24-hr on-site measure
    Team->>Client: Schedules complimentary property inspection & fixed quote
```

---

## ✨ Key Features

- **⚡ Next.js 16 with Turbopack**: Blazing-fast page compilation (<800ms) and static page pre-rendering.
- **🎨 Tailwind CSS v4 & Radix UI**: Contemporary token-based styling, smooth scrolling, and accessible interactive primitives.
- **📱 True Mobile-First Responsiveness**: Hand-tuned layouts for mobile (375px–480px), tablet (768px), and wide monitors (1440px+).
- **🔎 Local SEO & Structured Data**: Built-in `HomeAndConstructionBusiness` Schema.org JSON-LD structured data for Google Rich Results.
- **🗂️ Centralized Data Architecture**: All copy, services, projects, stats, phone numbers, and suburbs are configured in a single file: `lib/data.ts`.
- **♿ Accessible by Design**: ARIA attributes, semantic landmarks, keyboard navigation support, and high-contrast color ratios.

---

## 🛠️ Tech Stack

| Layer | Technology |
|---|---|
| **Framework** | [Next.js 16.3.4](https://nextjs.org/) (App Router, Turbopack) |
| **Language** | [TypeScript 5.9](https://www.typescriptlang.org/) |
| **UI Library** | [React 19](https://react.dev/) |
| **Styling** | [Tailwind CSS v4](https://tailwindcss.com/) + [tw-animate-css](https://www.npmjs.com/package/tw-animate-css) |
| **Primitives** | [Radix UI](https://www.radix-ui.com/) + [shadcn/ui](https://ui.shadcn.com/) |
| **Icons** | [Lucide React](https://lucide.dev/) |
| **Fonts** | Google Fonts ([Outfit](https://fonts.google.com/specimen/Outfit) & [DM Sans](https://fonts.google.com/specimen/DM+Sans)) via `next/font` |

---

## 🚀 Getting Started

### Prerequisites
- Node.js `20.x` or later
- Package manager: `pnpm` (recommended), `npm`, or `yarn`

### Installation

1. **Clone the repository**:
   ```bash
   git clone https://github.com/YOUR_USERNAME/painters-nextjs-template.git
   cd painters-nextjs-template
   ```

2. **Install dependencies**:
   ```bash
   pnpm install
   ```

3. **Start the local development server**:
   ```bash
   pnpm dev
   ```

4. Open your browser and navigate to:
   - **Home (V1)**: [http://localhost:3000](http://localhost:3000)
   - **Home 2 (V2)**: [http://localhost:3000/home-2](http://localhost:3000/home-2)

---

## 📁 Project Structure

```
├── app/
│   ├── globals.css                # Tailwind CSS v4 setup & theme variables
│   ├── layout.tsx                 # Root layout with Google Fonts & JSON-LD schema
│   ├── page.tsx                   # Flagship Editorial Homepage (Home V1)
│   └── home-2/
│       └── page.tsx               # Commercial Showcase Homepage (Home 2 V2)
├── components/
│   ├── layout/
│   │   ├── header.tsx             # Sticky header with active route pills & mobile drawer
│   │   └── footer.tsx             # Multi-column footer & Adelaide suburb directory
│   └── home/
│       ├── hero.tsx               # Flagship hero with Google 5.0 rating badge
│       ├── hero-v2.tsx            # Commercial uppercase hero
│       ├── trust-stats.tsx        # 4 trust metrics strip
│       ├── about.tsx              # Asymmetric editorial master painter story
│       ├── services.tsx           # Editorial 6-card services with feature bullets
│       ├── services-v2.tsx        # Full-bleed image-overlay service cards
│       ├── featured-projects.tsx   # Filterable portfolio gallery with category tabs
│       ├── featured-projects-v2.tsx# Dark interactive project slider with arrow navigation
│       ├── why-choose-us.tsx      # 4 numbered pillars (01-04) + 70/30 prep highlight
│       ├── why-choose-us-v2.tsx   # 2x2 blue square icon grid + trade painters photo
│       ├── surface-prep.tsx       # Dedicated dark Surface Preparation feature section
│       ├── process.tsx            # 4-stage client journey timeline
│       ├── testimonials.tsx       # 3 verified customer reviews + 5.0 Google card
│       ├── faq.tsx                # 2-column FAQ with telephone support card
│       ├── faq-v2.tsx             # Stacked heading FAQ with clean divider accordion
│       ├── contact-bar.tsx        # Full-width vibrant blue quick-contact strip
│       ├── contact-section.tsx    # Comprehensive contact details + quote form
│       ├── contact-section-v2.tsx # Quote form + interactive Adelaide Map hub card
│       └── final-cta.tsx          # Twilight architectural banner with dual CTAs
├── lib/
│   ├── data.ts                    # Centralized data: business info, services, projects, FAQs
│   └── utils.ts                   # Tailwind class merge helper (cn)
├── public/                        # Static assets & favicons
├── next.config.ts                 # Next.js config with Unsplash remotePatterns
├── package.json
└── tsconfig.json
```

---

## ⚙️ Customization Guide

### 1. Update Company Information & Branding
Open [`lib/data.ts`](./lib/data.ts) to configure your business details globally:

```typescript
export const COMPANY_INFO = {
  name: "Your Painting Co.",
  phone: "(08) 1234 5678",
  email: "[email protected]",
  address: "Your Street Address, City, State, Postcode",
  buildersLicense: "BLD 123456",
  serviceAreas: ["City CBD", "Eastern Suburbs", "Hills District", "Coastal Suburbs"],
  // ...
}
```

### 2. Change Brand Colors
Open [`app/globals.css`](./app/globals.css) and customize the color tokens in `@theme inline` or replace the primary accent blue (`#2563EB`) with your brand's color.

### 3. Add Custom Projects & Services
Add or modify items directly in the typed arrays `SERVICES_DATA` and `PROJECTS_DATA` within [`lib/data.ts`](./lib/data.ts).

---

## 🧪 Available Scripts

| Command | Description |
|---|---|
| `pnpm dev` | Starts local development server on Turbopack (`http://localhost:3000`) |
| `pnpm build` | Compiles optimized production bundle and generates static pages |
| `pnpm start` | Runs the production build locally |
| `pnpm typecheck` | Validates TypeScript types across the entire project (`tsc --noEmit`) |
| `pnpm lint` | Runs ESLint to check for code quality and conventions |

---

## 🚢 Deployment

### Deploy to Vercel (Recommended)
1. Push your code to GitHub.
2. Import the repository into [Vercel](https://vercel.com).
3. Vercel will automatically detect Next.js and build with zero extra configuration needed.

---

## 📄 License

This project is licensed under the [MIT License](./LICENSE) — you are free to use, modify, and distribute it for personal and commercial projects.
反馈内容错误

看看同类模板

对比同技术栈与用途的模板,找到更适合的视觉与内容结构。