Two live sources
/generate/postgis and /generate/gpkg with schema preview before commit.
★ New · feat/form-builder
Introspect a PostGIS table or GeoPackage vector layer — labels, types, options, geometry, layout — render to live HTML. Pair with the offline field-collection PWA.
How it works
Introspect PostGIS or GPKG — 21 field types, 6 layouts, validation — then render to HTML / React / Vue / Angular / JSON Schema.
/generate/postgis and /generate/gpkg with schema preview before commit.
Swap widgets, defaults, help text, read-only — without touching the source table.
Geometry columns map to a typed field for capture alongside attributes.
Next.js + MapLibre + DuckDB-WASM — collect, edit, export GeoJSON/CSV/SHP/GPKG air-gapped.
| Capability | Endpoint | Notes |
|---|---|---|
| Generate GPKG | POST /api/dynamicform/generate/gpkg | File + layer → typed form |
| Generate PostGIS | POST /api/dynamicform/generate/postgis | Connection + table |
| Render | POST /api/dynamicform/{id}/render | html + css + javascript |
| Standalone HTML | GET /api/dynamicform/{id}/html | Full page, themed |
| Templates | GET /api/dynamicform/templates | basic · grouped · complete |
Field collection PWA
POST /api/dynamicform/generate/gpkg{ "formName": "Building Survey", "filePath": "Data/GPKG/survey_points.gpkg", "layerName": "survey_points", "options": { "includeGeometry": true, "generateValidation": true } } → DynamicForm · render HTML / React / Vue ● designer at /form-builder.html
Generate validated forms from layers you already have, render them anywhere, collect offline.