An open, high-performance Smart City and IoT Interoperability Platform designed for municipal infrastructure monitoring, geospatial visualization, and predictive analytics. Developed for the Municipality of Patras, Greece.
The Interoperability Center (ICP Map) aggregates heterogeneous urban IoT streams—such as smart waste bins, parking availability sensors, environmental monitors, pedestrian traffic gates, and municipal infrastructure assets—into a unified geospatial control dashboard.
By combining real-time spatial clustering, time-series telemetry analysis, and machine learning load forecasting, the platform enables city operators to monitor asset status, streamline maintenance workflows, and make data-driven urban management decisions.
- Real-time GIS Visualization: Dynamic interactive map rendering with high-performance point clustering for thousands of IoT assets.
- Unified Asset Management: Monitored asset categories include Smart Bins, Parking Sensors, Environmental Sensors, LoRaWAN Gateways, Bollards, Fiber Cabinets, Smart Crossings, Smart Bus Stops, and Variable Message Signs.
- Historical Telemetry Analysis: Built-in SVG chart engine visualizing time-series trend data across customizable historical ranges.
- Operational Log Ledger: Centralized logging system allowing field operators to submit status updates, record notes, and manage operational logs with single-click removal.
- Predictive Analytics: Integrated Python Machine Learning service for load forecasting and request modeling.
- Automated Spatial Boundary Mapping: MySQL spatial geometry functions matching asset lat/lng coordinates to administrative municipal boundaries.
The system uses a microservices architecture composed of two main components:
- Frontend Dashboard (
interoperability-center-frontend): Web user interface built with React 19, Vite, and Leaflet GIS. - Server & Engine (
interoperability-center-server): REST API powered by Spring Boot (Java 21), a Python ML analytics microservice, and a MySQL 8.0 GIS spatial database.
- Framework: React 19, Vite
- Mapping & GIS: Leaflet, React-Leaflet, Supercluster
- UI Components: Lucide React, FontAwesome
- Core API Service: Java 21, Spring Boot 3, Spring Data JPA / Hibernate
- Database: MySQL 8.0 (Spatial Extensions)
- Analytics Engine: Python 3.10, Flask, Scikit-learn
- Containerization: Docker, Docker Compose
- Docker and Docker Compose
git clone https://github.com/Interoperability-Center-Patras/interoperability-center-server.git
git clone https://github.com/Interoperability-Center-Patras/interoperability-center-frontend.gitcd interoperability-center-server
docker-compose up -d --build- Database:
localhost:3306 - REST API:
http://localhost:5000 - ML Service:
http://localhost:5001
docker-compose up -d --build- Web UI: Access the application at
http://localhost:5173
The REST API exposes standardized endpoints for retrieving asset locations, updating operational statuses, managing log notes, and querying telemetry history:
GET /api/sensors- Retrieve standard sensor entitiesGET /api/bins- Retrieve smart waste collection binsGET /api/parking-sensors- Retrieve real-time parking availability sensorsGET /api/{category}/{id}/history- Fetch time-series telemetry historyPOST /api/{category}/{id}/status- Submit status updates and operational notesDELETE /api/{category}/{id}/logs/{logId}- Remove operational log entries
Distributed under the MIT License. See LICENSE for more information.