BMA
  • TypeScript 44.5%
  • JavaScript 38%
  • CSS 9.9%
  • Shell 5%
  • HTML 2.2%
  • Other 0.4%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-10-27 14:28:15 +01:00
.agents/skills skills: move superpowers to canonical .agents/skills layout 2026-07-14 17:24:15 +02:00
.w3ds chore: submit signed PPA application 2026-09-25 14:52:38 +00:00
api Read personal profiles live from eVault and remove persisted profile copies 2026-10-27 13:50:48 +01:00
app Sort displayed fields alphabetically with natural numeric ordering 2026-10-27 14:28:15 +01:00
docs Add free background maps and zoom-aware red field markers 2026-10-27 14:12:20 +01:00
scripts Match CORE's topbar and centered-page layout, trim trailing underscore from derived db_id 2026-07-16 17:48:47 +02:00
.env.example feat: add authorised eVault selector 2026-10-11 15:16:29 +02:00
.gitignore Build BMA randdichtheid application for W3DS 2026-09-25 16:34:30 +02:00
CLAUDE.md docs: point CLAUDE.md at the shared engineering rules 2026-08-19 10:30:49 +02:00
docker-compose.prod.yml feat: add authorised eVault selector 2026-10-11 15:16:29 +02:00
docker-compose.yml dev/db: auto-start Postgres on npm run dev, allow per-clone DB naming 2026-07-14 17:21:44 +02:00
Dockerfile fix(docker): force devDeps in all build stages, immune to Coolify ARG NODE_ENV injection 2026-07-19 23:04:44 +02:00
EXAMPLE_PROMPT.md Add example prompt: build a W3DS calendar 2026-07-14 16:55:16 +02:00
package-lock.json Build BMA randdichtheid application for W3DS 2026-09-25 16:34:30 +02:00
package.json Build BMA randdichtheid application for W3DS 2026-09-25 16:34:30 +02:00
README.md Build BMA randdichtheid application for W3DS 2026-09-25 16:34:30 +02:00
REMOVING_ECOMMONS_UI.md Document @ecommons/ui opt-out procedure; link from README and CLAUDE.md 2026-07-14 15:49:20 +02:00
skills-lock.json Install superpowers skill library locally, same pattern as W3DS skill 2026-07-14 16:17:34 +02:00

BMA Randdichtheid

Farmer-facing W3DS application for calculating BMA KPI 3: field-edge density in metres per hectare.

The application reads the signed-in farmer's FieldBoundary records directly from their eVault, validates Polygon and MultiPolygon geometry, calculates field area and perimeter, detects adjoining boundaries, and reports auditable intermediate values against the 400 m/ha target. The shared-boundary rule remains explicitly selectable until the official BMA counting rule is confirmed.

Production: https://bma.w3ds-agro.eu

Development

npm install
npm run bootstrap
npm run dev

The API is in api/; the React application is in app/. Never commit .env files or w3ds-deployment-key.json.

Verification

npm test --prefix api
npm run typecheck --prefix api
npm run build --prefix app