nutritwin.be website development
- CSS 44.8%
- Astro 41.1%
- TypeScript 12.8%
- JavaScript 1%
- Shell 0.3%
|
|
||
|---|---|---|
| .forgejo/workflows | ||
| nginx | ||
| public | ||
| scripts | ||
| src | ||
| tests | ||
| .gitignore | ||
| astro.config.mjs | ||
| package-lock.json | ||
| package.json | ||
| playwright.config.ts | ||
| README.md | ||
NutriTwin Website
Static Astro website for nutritwin.be.
Requirements
- Node.js 22 or newer
- npm
- nginx for production serving
Install
npm ci
Local Development
npm run dev
The local development server runs on http://127.0.0.1:3090/.
Build
npm run build
The production output is generated in dist/.
Test
npm run test
The Playwright suite checks desktop/mobile smoke behavior and axe accessibility rules.
Production Serving
The nginx config in nginx/nutritwin.conf serves dist/ on port 3080 for:
nutritwin.bewww.nutritwin.belocalhost127.0.0.1
After a fresh checkout:
npm ci
npm run build
sudo cp nginx/nutritwin.conf /etc/nginx/sites-available/nutritwin
sudo ln -sfn /etc/nginx/sites-available/nutritwin /etc/nginx/sites-enabled/nutritwin
sudo nginx -t
sudo systemctl reload nginx
For normal updates on this VM:
./scripts/deploy-local.sh
Analytics
The page uses Umami Cloud:
- website id:
fb2a9290-bd89-4667-a7f2-a8e547b82f48 - domains:
nutritwin.be,www.nutritwin.be - performance metrics enabled
Notes
Keep confidential project proposals, presentations, and internal source material outside public/. Anything in public/ is copied to dist/ and served by nginx.