Transform your zoning workflow with intelligent parcel mapping and real-time updates
Zonify is a modern web application that revolutionizes zoning management through interactive mapping, real-time updates, and comprehensive audit trails. Built for urban planners, real estate professionals, and government agencies.
- 🗺️ Interactive Mapping - Dynamic parcel visualization with clustering and color-coded zoning
- ⚡ Real-time Updates - Instant zoning modifications with live statistics
- 📊 Smart Analytics - Comprehensive zoning distribution insights
- 🔍 Audit Trail - Complete change history with user tracking
- 📱 Responsive Design - Works seamlessly across all devices
- Backend: Java 17, PostgreSQL 13+ with PostGIS, Maven
- Frontend: Node.js 18+, npm
CREATE DATABASE zonify_data;
CREATE EXTENSION postgis;cd backend
# Configure application.properties with your DB credentials
mvn clean install
mvn spring-boot:runcd frontend
npm install
# Development with API
npm start
# Development with mock data
REACT_APP_MOCK_DATA=true npm start- Spring Boot 3.4.5 - Robust API framework
- PostgreSQL + PostGIS - Spatial data powerhouse
- Hibernate Spatial - Advanced geospatial ORM
- Spring AOP - Seamless audit logging
- Caffeine - High-performance caching
- React 19.1.0 - Modern UI framework
- Leaflet + React-Leaflet - Interactive mapping
- Tailwind CSS - Utility-first styling
- Axios - Reliable API communication
Controllers → Services → Repositories → Database
↓ ↓ ↓ ↓
HTTP Layer → Business Logic → Data Access → PostgreSQL
Core Services:
ParcelService- Parcel management & zoning updatesAuditService- Comprehensive change tracking
App.js → Map.js → ZoningControls.js
↓ ↓ ↓
Main UI → Interactive Map → Update Interface
- Smart Clustering - Efficient visualization at all zoom levels
- View-based Loading - Data loads based on current map view
- Intelligent Caching - Prevents redundant API calls
- PostGIS Integration - Advanced spatial queries
- GeoJSON Support - Standardized geographic data format
- Real-time Geometry - Live parcel boundary updates
- AOP-powered Logging - Automatic operation capture
- State Tracking - Before/after change recording
- User Attribution - Complete accountability trail
# Build and run with Docker Compose
docker-compose up -d# Backend
mvn clean package -Pprod
# Frontend
npm run build- Spatial Indexing - Optimized geographic queries
- Response Caching - Reduced database load
- Lazy Loading - Efficient data fetching
- Bundle Optimization - Minimal frontend payload
- Input Validation - Comprehensive data sanitization
- SQL Injection Protection - Parameterized queries
- XSS Prevention - Content security policies
- Audit Logging - Complete operation tracking

