One-page website for Sibylle Bürgi-Lütscher — Dipl. Wundexpertin SAfW, Liestal.
- React Router 7 (file-based routing, dual-mode SSR + SPA)
- React 19 + TypeScript 5.9
- Vite 8 + Tailwind v4 + Sass
- i18next (German UI, all strings in
app/locales/de.yml) - Google Maps JS API (client-side, via
@googlemaps/js-api-loader) - pnpm 11 + Node 24
- Nix flakes (devShell + reproducible OCI image, no Dockerfile)
| Mode | Output | Host |
|---|---|---|
SSR=false pnpm build |
build/client/ (static SPA) |
GitHub Pages |
pnpm build |
build/{client,server}/ (Node SSR) |
Nix OCI container (port 3000) |
The fork is react-router.config.ts's ssr: process.env.SSR !== 'false'. CI builds both; deploy-gh-pages.yml sets SSR=false.
pnpm install
cp .env.dist .env.local # then fill in VITE_GOOGLE_MAPS_API_KEY
pnpm dev # http://localhost:5173The Google Maps key is origin-restricted (whitelisted to the deployed domain), so it can ship in the client bundle — but we still source it from env to keep rotation out of source diffs. Without a key, the map area falls back to its stylised placeholder.
Three other dev paths:
- Devcontainer — VS Code → "Reopen in Container" (
.devcontainer/devcontainer.json). - Compose —
docker compose up dev(usesnixos/niximage to realise the dev shell + run Vite). - Vagrant VM —
vagrant upboots a Debian VM with Docker + Traefik + mkcert forhttps://wundexpertinplus.test.
pnpm build # SSR build
SSR=false pnpm build # SPA build
pnpm preview # serve build/client locally (4173)nix build .#dockerImage
docker load < result
docker run --rm -p 3000:3000 d3strukt0r/wundexpertinplus:latestOn Windows / macOS without a host Nix install, run the nix build step inside nixos/nix:2.34.6.
Please read CONTRIBUTING.md for details on our code of conduct and the process for submitting pull requests.
This project uses Conventional Commits.
We use SemVer for versioning. For available versions, see the tags on this repository.
- Manuele - D3strukt0r
See also the full list of contributors who participated in this project.
We're currently looking for contributions for the following:
- Bug fixes
- Translations
- etc...
For more information, please refer to our CONTRIBUTING.md guide.
This project is licensed under the MIT License - see the LICENSE.txt file for details.
This project currently uses no third-party libraries or copied code.