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 structureapp/[lang]/(site)/: Multi-language page routescomponents/: UI components and site sectionsdictionaries/: Locale dictionaries and i18n helperspublic/: Static assets (images, fonts, service worker)scripts/: Build helpers and performance toolingstyles/: Global Tailwind layers and utility stylesutils/: 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