Next.jsReactSaaSCorporate WebsiteStarter

landing-page-template-3 — Next.js SaaS Template

By MohamedDjoudir

NOVA is a SaaS landing page template built with Next.js and Tailwind CSS, featuring built-in English and Arabic bilingual support and RTL, suitable for showcasing business cases and customer success stories.

Explore the design

Compare the page layouts and mobile experience. Open any screenshot for a closer look.

3 previews
Desktop homepage1 / 3
Desktop captureTop of page

Actual screenshot captured by the server browser.

All pages & views 3

Screenshots show visual appearance; interactive behavior may differ.

Recorded 2026-10-01View source

What stands out

A quick read of the recorded project description.

01

Static landing page built with Next.js App Router, TypeScript, and Tailwind CSS

02

Bilingual English and Arabic via next-intl, with automatic RTL mirroring

03

Code organized by feature, with each page section having its own components, hooks, constants, and types

04

Integrates Framer Motion animations, Radix UI accordions and tabs, Lucide icons, next-themes dark mode, and Embla mobile carousel

05

No environment variables required; the repository includes yarn.lock and pins dependency versions

Template Details

This template is produced by Aniq UI, with the repository named landing-page-template-3 and the theme NOVA: Business Case Studies Template. It targets consulting firms, agencies, and SaaS businesses for presenting detailed business case studies, customer success stories, and project highlights.

Technically, it uses Next.js App Router, TypeScript, and Tailwind CSS, with animations provided by Framer Motion, accordions and tabs from Radix UI, icons from Lucide React, theme switching via next-themes, and mobile carousels using Embla Carousel. The project is a static landing page with no backend and no environment variables required.

Internationalization is implemented via next-intl, with English (LTR) as the default language and Arabic (RTL) also available. Routes are prefixed with the language (/en, /ar), and middleware redirects the root path to the default language. Copy is centralized in messages/en.json and messages/ar.json, and both files must maintain the same keys. Layouts use logical direction classes (ms-*, pe-*, start-*, text-start, etc.) so RTL mirrors automatically; directional arrows and corner icons require additional rtl:rotate-180.

Code is organized by feature: under src/features/home, each page section has its own folder, internally divided into components, hooks, constants, and types, with index.ts only re-exporting; layouts stores the header and footer; the i18n directory handles routing, request configuration, language-aware navigation, and text direction. When adding a new section or page, you need to add copy for both languages and call setRequestLocale(locale) at the top of the page to maintain static rendering.

Usage limitations: The template itself is a static page and does not include backend capabilities such as databases, payments, or AI; third-party assets like demo images, fonts, and icons must be checked individually against their respective licenses and cannot be judged solely by the code's MIT license.

Next.jsSaaSCorporate websiteStarter

Is it right for your project?

Use Cases

  • Consulting firms or agencies showcasing business case studies and customer success stories
  • SaaS products building product landing pages for English and Arabic markets
  • As a starting point for multilingual marketing pages that require RTL support

Suitable For

  • Teams needing a bilingual (English/Arabic) landing page
  • Developers who want to organize page sections with a feature-based directory structure
  • Projects using the Next.js, TypeScript, and Tailwind CSS stack

Getting started & customization

Use these recorded setup notes alongside the repository instructions for your chosen version.

  1. 1

    Requires Node.js 18.17 or higher

  2. 2

    The repository pins Yarn 4 via packageManager; run corepack enable first, then yarn install and yarn dev

  3. 3

    The template is a static page with no backend and no environment variables required

  4. 4

    To add a language, add the language code in src/i18n/routing.ts, create the corresponding messages file, and add the language name under localeSwitcher.names in each messages file; RTL languages also need to be registered in src/i18n/direction.ts

  5. 5

    Third-party assets such as demo images, fonts, and icons must be checked individually against their respective licenses

Read repository instructions

License & source material

Usage conditions & limitations

Free to use · keep license notice

This entry covers the free version under the MIT license in the public repository; the free scope is the code of this version and does not mean external services or third-party assets are free.

Must comply with when using

  • You are allowed to use, modify, commercialize, and distribute the code of this version for free.
  • When distributing copies or substantial portions of the code, retain the original author's copyright notice and the full MIT license notice.
  • The code is provided as is; warranties and limitations of liability are governed by the original license and applicable law.

Additional costs & items to verify

  • The template is a purely static landing page and does not include backend, database, payment, or AI capabilities; if these are needed, you must develop them yourself or integrate external services.
  • Support channel is contacting the Aniq UI team, not community open-source support; if you encounter issues during use, you need to get help through their official website contact information.
  • The project is produced by Aniq UI, whose official website also sells paid templates; the code in this repository is provided for free under MIT, but be careful not to confuse it with paid products.
  • Demo images, fonts, icons, and other third-party assets must be checked against their respective licenses and cannot be judged solely by the code's MIT license.
  • External services such as domain, hosting, database, payment, or AI may incur additional charges.
View Original Text Basis

Permission is hereby granted, free of charge

Original License Text

There are no environment variables to configure: the template is a static landing page with no back-end.

Original README

For questions or support, contact the [Aniq UI team](https://www.aniq-ui.com/#contact).

Original README

Created by [Aniq UI](https://www.aniq-ui.com), premium Next.js templates for modern web apps.

Original README
https://github.com/MohamedDjoudir/landing-page-template-3/blob/main/LICENSEhttps://github.com/MohamedDjoudir/landing-page-template-3/blob/main/README.md

Compiled by DeepSeek based on repository license and README ·2026-10-01. Results only cover the materials read; dependencies, images, fonts, and subsequent term changes are subject to their respective original texts.

Project checks & description sources

Template Information

Source platforms
GitHub
Documentation and maintenance reference score
More documented · 92 / 100
Technologies
Next.js · React
Website type
SaaS · Corporate Website · Starter
How this score is calculated

Our heuristic uses license records (up to 30), a demo link (12), a preview (10), stars (15), recorded maintenance (15), description completeness (8), feature records (5) and classification data (5). It is not a code, security or performance test, or a Google score. A link does not establish tested functionality.

What to verify for this project

Repository update recorded
2026-09-26
Screenshot last checked
2026-10-01

A demo link is listed. Check it with your own content and viewport sizes; its presence does not confirm that forms, authentication or payments work.

The catalog identifies Next.js as the primary stack. Check the actual dependency manifest and lockfile for versions and hosting requirements. These notes use recorded metadata, not a code audit or a deployment test.

Use a selection guide →

How this description was prepared

AI-assisted description based on catalog records and repository material. Repository authors are not automatically the reviewers of this description.

Automatically checked against source and license rules; no manual editorial review.

Inspect the recorded source material

SHA-256: 75bc98cdce3d1c3bab6006efe06d7b1ca7f5c86734afae4eb7ac9252d8dc10ab

2026-10-01T01:51:08.207Z

Source file / repository
# NOVA: Business Case Studies Template (Next.js + Tailwind CSS)

**NOVA** is a professional and elegant template built with **Next.js 15**, **TypeScript**, and **Tailwind CSS**, designed to showcase detailed business case studies, client success stories, and project highlights. Perfect for consultancies, agencies, and SaaS businesses.

**Live Demo & More Info:** [aniq-ui.com NOVA Template](https://www.aniq-ui.com/en/templates/business-case-studies-nextjs-template)

---

## Getting Started

### Prerequisites

- Node.js 18.17 or later
- Yarn (the repository pins Yarn 4 through `packageManager`; run `corepack enable`)

### Installation

```sh
yarn install
yarn dev
yarn build      # production build
yarn start      # serve the production build
yarn lint
```

There are no environment variables to configure: the template is a static landing page with no back-end.

---

## Languages

The site is localized with **next-intl** and ships two locales:

| Locale | Language | Direction |
| ------ | -------- | --------- |
| `en`   | English (default) | LTR |
| `ar`   | Arabic   | RTL |

- Routes are prefixed with the locale: `/en`, `/ar`.
- `src/middleware.ts` redirects `/` to the default locale.
- `<html lang dir>` is set from the locale, and layout uses logical Tailwind classes (`ms-*`, `pe-*`, `start-*`, `text-start`...) so RTL mirrors automatically.
- All copy lives in `messages/en.json` and `messages/ar.json`. Both files must keep the same keys.
- Components read text with `useTranslations`; constants only hold keys, ids, routes, icons and numbers.
- A locale switcher sits in the header (`src/components/LocaleSwitcher.tsx`).

To add a locale, add its code to `src/i18n/routing.ts`, create `messages/<locale>.json`, and add the locale name under `localeSwitcher.names` in every messages file. If it is right-to-left, list it in `src/i18n/direction.ts`.

---

## Project Structure

```
messages/                   # en.json, ar.json
src/
├── app/
│   ├── globals.css
│   └── [locale]/           # layout.tsx (html, providers, metadata) and page.tsx (home composition)
├── i18n/                   # routing, request config, locale-aware navigation, text direction
├── middleware.ts           # locale negotiation
├── components/             # Shared components (Logo, Reveal, SectionHeader, GlowFrame, LocaleSwitcher...)
│   └── ui/                 # UI primitives (Button, Accordion, Tabs)
├── features/home/          # One folder per page section
│   └── <Section>/
│       ├── index.tsx       # Composition only
│       ├── components/     # One component per file + index.ts barrel
│       ├── hooks/          # One hook per file + index.ts barrel
│       ├── constants/      # Keys, ids, images, numbers
│       └── types/
├── layouts/                # Header and Footer, same subfolder convention
├── hooks/                  # Shared hooks (useTextDirection)
├── lib/utils.ts            # cn() helper
└── providers/              # ThemeProvider
```

Barrel `index.ts` files only re-export.

---

## Adding a Section or Page

1. Create the section folder under `src/features/<page>/<Section>/` using the layout above.
2. Add its copy to **both** `messages/en.json` and `messages/ar.json`, and read it with `useTranslations("<namespace>")`.
3. Compose it in `src/app/[locale]/<route>/page.tsx`. Call `setRequestLocale(locale)` at the top of a page so it stays statically rendered.
4. Use logical spacing classes and add `rtl:rotate-180` to arrows and chevrons that point in a reading direction.

---

## Styling

- **Tailwind CSS** with CSS variables for theme colors in `globals.css`.
- **Dark mode** through `next-themes`.
- Entrance animations go through the shared `Reveal` component.

---

## Tech Stack

| Technology     | Purpose                         |
| -------------- | ------------------------------- |
| Next.js 15     | React framework with App Router |
| next-intl      | Localization (en, ar)           |
| TypeScript     | Type safety                     |
| Tailwind CSS   | Utility-first styling           |
| Framer Motion  | Animations                      |
| Radix UI       | Accordion, Tabs                 |
| Lucide React   | Icons                           |
| next-themes    | Theme management                |
| Embla Carousel | Mobile carousels                |

All dependencies are pinned to exact versions and `yarn.lock` is committed.

---

## Support

For questions or support, contact the [Aniq UI team](https://www.aniq-ui.com/#contact).

## License

This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.

Created by [Aniq UI](https://www.aniq-ui.com), premium Next.js templates for modern web apps.
Report a correction

Explore similar templates

Compare previews and descriptions within the same stack and category.