536b3659bb
- Add nginx reverse proxy cache in front of Martin (2GB, 1h TTL, stale serving, CORS) - Martin no longer exposes host port — all traffic routed through tile-cache on :3010 - Add PMTiles support in map-viewer.tsx (conditional: NEXT_PUBLIC_PMTILES_URL env var) - When set: single PMTiles source for UAT + administrativ layers (z0-z14, ~5ms/tile) - When empty: fallback to Martin tile sources (existing behavior, zero breaking change) - Add tippecanoe Docker service (profiles: tools) for on-demand PMTiles generation - Add rebuild-overview-tiles.sh: ogr2ogr export → tippecanoe → MinIO atomic upload - Install pmtiles npm package for MapLibre protocol registration Performance impact: - nginx cache: 10-100x faster on repeat tile requests, zero PostGIS load on cache hit - PMTiles: sub-10ms overview tiles, zero PostGIS load for z0-z14 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
62 lines
1.5 KiB
JSON
62 lines
1.5 KiB
JSON
{
|
|
"name": "architools",
|
|
"version": "0.1.0",
|
|
"private": true,
|
|
"scripts": {
|
|
"dev": "next dev",
|
|
"build": "next build",
|
|
"start": "next start",
|
|
"lint": "eslint"
|
|
},
|
|
"dependencies": {
|
|
"@prisma/client": "^6.19.2",
|
|
"axios": "^1.13.6",
|
|
"axios-cookiejar-support": "^6.0.5",
|
|
"busboy": "^1.6.0",
|
|
"class-variance-authority": "^0.7.1",
|
|
"clsx": "^2.1.1",
|
|
"docx": "^9.6.0",
|
|
"form-data": "^4.0.5",
|
|
"jspdf": "^4.2.0",
|
|
"jszip": "^3.10.1",
|
|
"lucide-react": "^0.564.0",
|
|
"maplibre-gl": "^5.21.0",
|
|
"minio": "^8.0.6",
|
|
"next": "16.1.6",
|
|
"next-auth": "^4.24.13",
|
|
"next-themes": "^0.4.6",
|
|
"nodemailer": "^7.0.13",
|
|
"pmtiles": "^4.4.0",
|
|
"proj4": "^2.20.3",
|
|
"qrcode": "^1.5.4",
|
|
"radix-ui": "^1.4.3",
|
|
"react": "19.2.3",
|
|
"react-dom": "19.2.3",
|
|
"tailwind-merge": "^3.4.1",
|
|
"tesseract.js": "^7.0.0",
|
|
"tough-cookie": "^6.0.0",
|
|
"utif2": "^4.1.0",
|
|
"uuid": "^13.0.0"
|
|
},
|
|
"devDependencies": {
|
|
"@tailwindcss/postcss": "^4",
|
|
"@types/busboy": "^1.5.4",
|
|
"@types/jszip": "^3.4.0",
|
|
"@types/node": "^20",
|
|
"@types/nodemailer": "^7.0.11",
|
|
"@types/proj4": "^2.5.6",
|
|
"@types/qrcode": "^1.5.6",
|
|
"@types/react": "^19",
|
|
"@types/react-dom": "^19",
|
|
"@types/tough-cookie": "^4.0.5",
|
|
"@types/uuid": "^10.0.0",
|
|
"eslint": "^9",
|
|
"eslint-config-next": "16.1.6",
|
|
"prisma": "^6.19.2",
|
|
"shadcn": "^3.8.5",
|
|
"tailwindcss": "^4",
|
|
"tw-animate-css": "^1.4.0",
|
|
"typescript": "^5"
|
|
}
|
|
}
|