feat: add parcel-sync module (eTerra ANCPI integration with PostGIS)

- 31 eTerra layer catalog (terenuri, cladiri, documentatii, administrativ)
- Incremental sync engine (OBJECTID comparison, only downloads new features)
- PostGIS-ready Prisma schema (GisFeature, GisSyncRun, GisUat models)
- 7 API routes (/api/eterra/login, count, sync, features, layers/summary, progress, sync-status)
- Full UI with 3 tabs (Sincronizare, Parcele, Istoric)
- Env var auth (ETERRA_USERNAME / ETERRA_PASSWORD)
- Real-time sync progress tracking with polling
This commit is contained in:
AI Assistant
2026-03-06 00:36:29 +02:00
parent 51dbfcb2bd
commit 7cdea66fa2
25 changed files with 3097 additions and 12 deletions
+6
View File
@@ -10,6 +10,8 @@
},
"dependencies": {
"@prisma/client": "^6.19.2",
"axios": "^1.13.6",
"axios-cookiejar-support": "^6.0.5",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"docx": "^9.6.0",
@@ -20,12 +22,14 @@
"next": "16.1.6",
"next-auth": "^4.24.13",
"next-themes": "^0.4.6",
"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"
},
@@ -33,9 +37,11 @@
"@tailwindcss/postcss": "^4",
"@types/jszip": "^3.4.0",
"@types/node": "^20",
"@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",