1. Item Name : Eduflow - Education Next.js Template
  2. Created: 09 July, 2026
  3. Item Version : v 1.0.0
  4. Author : wprealizer
  5. Built with : Next.js 15, React 19 & TypeScript
Eduflow - Education Next.js Template

Introduction

Eduflow - Education Next.js Template

For any support please don't hesitate to contact us at Support Center . We provide real-time support for our customers.

Thank you for choosing Eduflow — a modern education & online-learning platform template built with Next.js (App Router), React, TypeScript and SCSS. It ships with 10+ home-page concepts and 40+ inner pages, is fully responsive and SEO-ready out of the box. This guide explains how to install, run, customize and extend the template.

Requirements

This is a Next.js application (not a static HTML site), so you need a Node.js environment to run and build it.

  • Node.js 18.18+ (Node 20 LTS recommended)
  • npm (bundled with Node.js)
  • A code editor such as VS Code

Template Features

  • Next.js 15 — App Router
  • React 19 & TypeScript (strict)
  • SCSS (Sass) source styles
  • Bootstrap 5 grid & utilities
  • GSAP animations & Swiper sliders
  • 10+ Awesome Home Demos
  • 40+ Awesome Inner Pages
  • Fully Responsive & Pixel-Perfect Design
  • SEO ready — per-page metadata, sitemap.xml, robots.txt, JSON-LD
  • PWA web manifest
  • Self-hosted Google Fonts via next/font
  • Server Components by default (fast, minimal JS)
  • Single-file customization (siteConfig)
  • Clean, documented & easy to customize

Installation

Unzip the template, open a terminal in the project folder and run the following commands:

# 1. Install dependencies
npm install

# 2. Start the development server (http://localhost:3000)
npm run dev

# 3. Create an optimized production build
npm run build

# 4. Serve the production build
npm run start

Available scripts:

  • npm run dev — development server with hot reload
  • npm run build — production build
  • npm run start — serve the production build
  • npm run lint — run ESLint

What's Included

After purchasing Eduflow on themeforest.net with your Envato account, download the template package. It contains:

  • main-file — the complete Next.js project source you install, run and edit.
  • documentation — this folder, containing what you are reading now :)

Project Structure

Folder Structure

The project follows a clean, predictable structure based on the Next.js App Router:

app/                     # Routes (Next.js App Router)
  (home)/                # Default home page  ->  /
  (demos)/               # Demo home pages    ->  /e-learning, /marketplace, ...
  (inner)/               # Inner pages        ->  /about-v1, /courses-v1, /faq, ...
  (kindergarten)/        # Kindergarten demo & its inner pages
  layout.tsx             # Root layout: fonts, global styles, metadata, scripts
  sitemap.ts             # /sitemap.xml
  robots.ts              # /robots.txt
  manifest.ts            # /manifest.webmanifest (PWA)
  not-found.tsx          # 404 page
  error.tsx              # Route error boundary
  global-error.tsx       # Root error boundary
  scss/                  # SCSS source (7-1 pattern); entry: style.scss

components/
  layout/                # Header, footers, preloader, scripts, chrome
  home1/                 # Sections for the default home page
  pages/                 # Sections grouped by demo / inner page
  shared/                # Reusable pieces (breadcrumbs, ...)
  auth/                  # Login / signup forms

lib/
  siteConfig.ts          # Brand, URL, contact, social - single source of truth
  metadata.ts            # createMetadata() helper for per-page SEO

public/assets/           # Images, fonts, template JS/CSS

Routing & Pages

Every folder under app/ that contains a page.tsx becomes a route. Folders wrapped in parentheses such as (demos) are route groups — they organize files and apply a shared layout (header/footer) without adding anything to the URL.

For example, app/(inner)/courses-v1/page.tsx is served at /courses-v1. See Adding a Page to create your own.

Styling (SCSS)

All styles are written in SCSS under app/scss/ using the 7-1 pattern. The single entry file app/scss/style.scss is imported once in app/layout.tsx. Global variables (colors, fonts, spacing) live in app/scss/utils/_variables.scss and _theme.scss. Sass is compiled automatically by Next.js — just edit and save.

Components & Scripts

Pages are composed from small, reusable section components in components/. Most components are React Server Components (no client JavaScript). The template's interactive behaviors (GSAP animations, Swiper sliders, menus) are initialized in a single client module, components/layout/EduflowScripts.tsx, which loads the vendor libraries and the template main.js after hydration.

Customization

Site Configuration

Most brand-level values live in one file: lib/siteConfig.ts. Change the brand name, production URL, description, share image, contact details and social links here and they update across the whole site (browser title, Open Graph tags, header/footer branding, and more).

export const siteConfig = {
  name: "Eduflow",
  url: process.env.NEXT_PUBLIC_APP_URL ?? "http://localhost:3000",
  title: "Eduflow - Online Courses & Education Platform",
  description: "...",
  ogImage: "/assets/imgs/home1/hero/hero-bg1_1.webp",
  locale: "en_US",
  contact: { email: "...", phone: "...", address: "..." },
  social: { facebook: "...", x: "...", instagram: "...", linkedin: "...", youtube: "..." },
};

Changing Images

All images live in the public/assets/imgs/ folder. To replace an image:

  1. Find the image in public/assets/imgs/ (the folder mirrors the page/section names).
  2. Replace it with your own file, keeping the same file name — or
  3. Add a new file and update the src="/assets/imgs/..." path in the relevant component under components/.

Changing Colors

The template is styled with SCSS. To change the theme colors:

  1. Open app > scss > utils > _variables.scss (and _theme.scss) in your editor.
  2. Change the right-side values of the color variables.
  3. Save the file — Next.js recompiles the SCSS automatically.

SEO & Metadata

Each page exports its own title/description via the createMetadata() helper in lib/metadata.ts:

import { createMetadata } from "@/lib/metadata";

export const metadata = createMetadata({
  title: "Courses",
  description: "Browse our online courses.",
  path: "/courses-v1",
});

The root layout defines the title template (%s | Eduflow) and default Open Graph / Twitter tags. app/sitemap.ts and app/robots.ts generate /sitemap.xml and /robots.txt. Set NEXT_PUBLIC_APP_URL so they emit absolute production URLs.

Adding a Page

  1. Create app/(inner)/my-page/page.tsx.
  2. Export metadata and the page component:
import { createMetadata } from "@/lib/metadata";

export const metadata = createMetadata({
  title: "My Page",
  description: "...",
  path: "/my-page",
});

export default function Page() {
  return <section>...</section>;
}

Then add the route to app/sitemap.ts and, if it should appear in the menu, to the navigation arrays in components/layout/Header.tsx.

Environment Variables

Copy .env.example to .env and adjust:

NEXT_PUBLIC_APP_URL=https://your-domain.com

NEXT_PUBLIC_APP_URL is the production origin used for canonical URLs, Open Graph tags and the sitemap.

Support

If you face any issue please contact us at support@wprealizer.com or through our Support Center. We provide real-time support for our customers.

Thank you for purchasing our Next.js template.