Skip to content

Phase 1: Core Property Platform (Months 4–14)

This phase delivers the foundational property services: registration, transfers, and GIS — plus the citizen-facing portal and mobile app. By the end of Phase 1, the Sulaymaniyah pilot is live.


1.1 Platform Development — Core Services

All services are deployed as containers in the Kubernetes cluster provisioned during Phase 0.

Backend Services (Month 4–12)

Service Framework Deliverables
Property Registration Laravel 13 Title deed CRUD, ownership records, deed document upload, property search API
Transfer Service Laravel 13 + Workflow Sale, gift, inheritance workflows with multi-step approval, encumbrance check, notary integration
Payment Service Laravel 13 Fee calculation, tax calculation, integration with shared Payment Gateway (FIB, Qi, FastPay)
Notification Service Laravel 13 + Kafka SMS, email, push notifications for application status updates (consumes shared notification infra)
Appointment Service Laravel 13 Office booking, queue management, QR check-in
GIS Service FastAPI + GeoServer Parcel spatial queries, WMS/WFS publishing, pg_tileserv vector tiles
Document / OCR Service FastAPI Deed scanning, PaddleOCR for Arabic/Kurdish text, document vault integration
Audit Service Go (Gin) Immutable event logging for all property transactions (hash chain)

Admin Dashboard (Month 5–10)

Module Technology Purpose
Application Queue Filament 3 Staff review and approve transfer/permit applications
Property Management Filament 3 Search, view, edit property records
Parcel Editor Filament 3 + OpenLayers View/edit parcel boundaries on map
Citizen Lookup Filament 3 Search property owners (queries KRDPASS via KRG-Road)
Reports Filament 3 + Metabase embed Daily/weekly/monthly activity reports
OCR Review Queue Filament 3 Review and correct OCR-extracted deed data

Frontend Applications (Month 6–14)

App Technology Features at Phase 1 Launch
Property Web Portal Next.js 14 + OpenLayers 9 Property search, cadastral map viewer, transfer application, fee payment, application tracker, document download
Property Mobile App Flutter 3.x Same features as web, plus: push notifications, offline document access, QR check-in
Kiosk App Flutter (Android tablet) Property search, receipt printing, queue ticket

1.2 GIS Foundation

Spatial Data Loading (Month 4–10)

Source Format Target Method
Paper cadastral maps Scanned TIFF PostGIS via QGIS digitization GIS team manually traces parcels
Existing digital maps (if any) Shapefile / DWG / CAD PostGIS ogr2ogr / QGIS import
Satellite / aerial imagery GeoTIFF GeoServer raster layers Direct load to GeoServer
Zoning district boundaries Paper / Excel PostGIS zoning_districts table GIS team digitizes + classifies

Target: Digitize all land parcels in Sulaymaniyah governorate (pilot area) by Month 10. Estimated 50K–100K parcels.

GeoServer Configuration

  • Publish land_parcels as WMS/WFS layer
  • Publish zoning_districts as WMS layer
  • Publish properties (building footprints) as WMS/WFS layer
  • Configure pg_tileserv for vector tiles (fast map rendering)
  • Set up cached tile layers (GeoWebCache) for base maps

1.3 Legacy Data Migration — OCR Pipeline

Phase 1 Target: 50,000 Legacy Deeds

graph LR
  SCAN["📄 Scan paper deeds<br/>(high-speed scanner)"] --> STORE["📦 Store in MinIO<br/>(raw TIFF/PDF)"]
  STORE --> PREPROC["🔧 Pre-process<br/>(deskew, denoise)"]
  PREPROC --> OCR["🔍 PaddleOCR<br/>(Arabic/Kurdish)"]
  OCR --> EXTRACT["📋 Extract fields<br/>(owner, parcel#, area)"]
  EXTRACT --> REVIEW["👁️ Human review<br/>(Filament queue)"]
  REVIEW --> DB["💾 Insert to<br/>PostgreSQL + PostGIS"]
  • Scanning capacity needed: 500 deeds/day with 2 scanners
  • OCR accuracy target: >85% on first pass (remainder flagged for human review)
  • Staff: 2 scanners + 4 review operators in Sulaymaniyah office

1.4 KRG-Road Integration (Month 6–12)

Deploy our Security Server instance and establish connections:

External System Data We Query Data We Provide Priority
Civil Status (KRDPASS) Citizen identity verification, family status — Month 6
Tax Authority Tax clearance for property transactions Property transfer notifications (for tax assessment) Month 8
Notary Power of attorney validation Transfer records requiring notarial certification Month 10

Integration Testing

  • Conformance testing with each Security Server partner
  • Load testing: simulate 100 concurrent transfer lookups
  • Failover testing: response when an external system is down

1.5 Sulaymaniyah Pilot Service Center (Month 10–14)

Open the first dedicated Property & Municipality Service Center (see Section 6 for full design).

Pilot Scope

Service Channel Target
Property ownership verification Counter + web Available from Month 12
Property transfer (sale) Counter + web Available from Month 13
Title deed reprint (digital) Counter + kiosk Available from Month 12
Legacy deed scan + verify Counter (scan station) Available from Month 11
Cadastral map extract GIS station Available from Month 12

Success Criteria for Pilot

Metric Target
Transfer processing time < 2 hours (from current 2–8 weeks)
Citizen visits per transfer 1 (from current 7–15)
System uptime > 99.5%
Citizen satisfaction > 70%
Staff adoption 100% of Sulaymaniyah property clerks using the system

1.6 Security & Compliance (Ongoing During Phase 1)

  • All services behind Kong API Gateway with JWT validation + rate limiting
  • mTLS between all internal services (Istio service mesh)
  • All property transactions logged immutably via Go Audit Service
  • Automated security scanning in CI/CD (Trivy for containers, SonarQube for code)
  • Weekly vulnerability scans with CrowdSec + Suricata
  • RBAC enforced via Keycloak: property clerks see only their governorate's data

1.7 Data Migration Strategy

Existing Property Records to Migrate

Source Data Method Timeline
Paper title deeds (Tapu) Ownership, parcel ID, area, boundaries Scan → OCR → human review → insert Month 4–14 (50K deeds target)
Paper cadastral maps Parcel outlines, boundaries, landmarks QGIS digitization by GIS team Month 4–12
Existing municipal databases Zoning data, building records, fees ETL via Apache Airflow + pgLoader Month 6–10
Notary ledgers Transaction history (sales, gifts, inheritance) Scan → OCR → structured entry Month 8–14

Data Quality Rules

  • Every property must have a unique parcel_number conforming to the numbering standard (see Section 16)
  • No duplicate ownership for the same parcel at the same time
  • All geometries validated for topology (no overlaps, no gaps) via PostGIS ST_IsValid
  • Records failing validation are quarantined for manual review (never silently dropped)
  • All migrated records tagged with source = 'legacy_migration' for traceability

1.8 Phase 1 Deliverables Summary

Deliverable Target Month Acceptance Criteria
Property Registration service (backend + admin) 10 CRUD operations on properties, ownership records
Transfer service (backend + admin) 12 Full sale workflow: application → encumbrance check → tax clearance → approval → new deed
GIS service + GeoServer + pg_tileserv 10 Sulaymaniyah parcels published as WMS/WFS/vector tiles
Payment integration (shared Payment Gateway) 11 Successful fee collection for transfer applications
KRDPASS identity verification (via KRG-Road) 10 Identity lookup in < 2 seconds
Property Web Portal v1 13 Public-facing: search, map view, transfer application, payment
Property Mobile App v1 14 Same as web portal + push notifications + offline docs
Filament Admin Dashboard 10 Staff can process applications, review OCR, manage properties
50K legacy deeds digitized (OCR) 14 Scanned, OCR'd, reviewed, inserted into database
Sulaymaniyah pilot service center open 12 Counter + kiosk + GIS station operational
Audit trail operational 10 Every property transaction logged immutably