Case · Site · TypeScript

landscape-bureau-nuxt: "Izolinia", a landscape bureau site concept

A concept for a multi-page site of a fictional landscape bureau on Nuxt 4 with static generation: six project pages on a dynamic route, a plant filter by light, moisture and shape, a brief form. Data lives in JSON, the site plans are drawn by code. The bureau, clients and areas are made up.

  • Nuxt 4
  • Vue 3
  • TypeScript
  • Static generation
  • SVG
  • CSP
  • axe
  • Cloudflare Pages
  • GitHub Actions

01 · How it looks

Screenshots

Screenshot of the project "landscape-bureau-nuxt: "Izolinia", a landscape bureau site concept" at 1280 pixels wide
Desktop, 1280 px
Screenshot of the project "landscape-bureau-nuxt: "Izolinia", a landscape bureau site concept" on a phone screen, 390 pixels wide
Phone, 390 px

02 · About

What it is and why

A concept for a multi-page site of a fictional landscape bureau on Nuxt 4 with static generation: six project pages on a dynamic route, a plant filter by light, moisture and shape, a brief form. Data lives in JSON, the site plans are drawn by code. The bureau, clients and areas are made up.

Limitations

A concept: no backend, the brief form opens a mail client with a ready letter.

Plant descriptions are general and do not replace a nursery's advice.

There is no English version.

What is inside

  • Nuxt 4 generate: every dynamic route is prerendered
  • CSP without unsafe-inline on Nuxt: entryImportMap and inline styles are off, window.__NUXT__ is moved into _nuxt/inline-<hash>.js, check-security fails the build on an inline script
  • Site plans are generated by code (SVG from project data)
  • Firefox at 390, 768, 1280, 1920: axe, CLS, horizontal scroll and console checked

03 · How to run

Run it locally

git clone <repository on request> landscape-bureau-nuxt
cd landscape-bureau-nuxt
npm ci
npm run dev

04 · Code

The repository is private

The source is in a private repository. Message me on Telegram and I will open access.

Request the code