Skip to content

EPS Website v2

Overview

EPS Website v2 is the primary marketing site for EPSAIT, built on the Next.js App Router with multi-language routing and a modular component library. It is optimized for performance (image optimization, service worker, bundle analysis), supports consent-aware analytics, and deploys to Cloudflare Pages via OpenNext.

Tech Stack

  • Next.js App Router (Next 16.1.6) in package.json
  • React 19.2.4 in package.json
  • TypeScript + Tailwind CSS v4
  • OpenNext for Cloudflare Pages in open-next.config.ts
  • Vitest + Playwright for tests

Repository Map

  • app/: App Router entrypoints and route structure
  • app/[lang]/(site)/: Multi-language page routes
  • components/: UI components and site sections
  • dictionaries/: Locale dictionaries and i18n helpers
  • public/: Static assets (images, fonts, service worker)
  • scripts/: Build helpers and performance tooling
  • styles/: Global Tailwind layers and utility styles
  • utils/: Shared logic (analytics, env validation)

Key Routes

The App Router uses a [lang] segment to localize all routes. Pages live in app/[lang]/(site)/.

Examples (see app/[lang]/(site)): - page.tsx (home) - about/page.tsx - services/page.tsx and services/[service]/page.tsx - case-studies/page.tsx and case-studies/[slug]/page.tsx - insights/page.tsx and insights/[slug]/page.tsx - contact/page.tsx

Localization

Supported locales are defined in dictionaries/config.ts and used in dictionaries/utils.ts to resolve the dictionary per request. The layout generates static params for each locale in app/[lang]/(site)/layout.tsx.

Where To Start

  • Architecture: eps-website/architecture.md
  • Development workflow: eps-website/development.md
  • Deployment: eps-website/deployment.md