Commit Graph
55 Commits
Author SHA1 Message Date
Hamza-Ayed 06895d6720 fix(roads): replace ON CONFLICT with delete and insert for bulletproof candidate approval 2026-08-19 16:44:59 +03:00
Hamza-Ayed 313c2f641f fix(roads): explicit cast geometry::geometry on insert to approved_roads 2026-08-19 16:38:00 +03:00
Hamza-Ayed 956dae8e75 fix(roads): add ALTER TABLE migration for candidate_id column in approved_roads table 2026-08-19 16:34:42 +03:00
Hamza-Ayed b98ce56622 fix(roads): fix road approval & deletion persistence, add robust endpoints, delete candidate from DB upon reject/delete, and add clear all pending button 2026-08-19 16:29:24 +03:00
Hamza-Ayed ad231c6f20 feat(tactical): integrate cross-country terrain slope, basalt rocks, and off-road mobility analysis into Isochrone engine 2026-08-18 15:40:18 +03:00
Hamza-Ayed 9088af0534 feat(tactical): implement real road-network ray-casting routing for Isochrone reachability 2026-08-18 15:31:56 +03:00
Hamza-Ayed 3109d782d3 feat(tactical): add interactive Isochrone reachability analysis for hospitals and civil defense 2026-08-18 15:17:37 +03:00
Hamza-Ayed ac4a74d0e0 fix(deps): align @nestjs/common and @nestjs/core to 11.2.1 to resolve sse-signal decorator module error 2026-08-18 14:49:09 +03:00
Hamza-Ayed c28d7f236e feat(tactical): add isochrone emergency reachability endpoint and clean build config 2026-08-18 14:16:40 +03:00
Hamza-Ayed bab24892c7 chore(cleanup): archive one-time migrations, secure telemetry endpoint, and purge temporary files 2026-08-18 14:00:20 +03:00
Hamza-Ayed cb384765fb feat(security): implement dynamic tactical license gate, instant key revocation, and clean hardcoded credentials 2026-08-18 13:46:02 +03:00
Hamza-Ayed ba4ae15eab feat(routing): smart street extraction and distinctive naming for main and alternative routes 2026-08-18 12:25:10 +03:00
Hamza-Ayed 0a854c4302 feat(routing): pure Arabic localization for all navigation instructions (translate Continue onto, toward, keep right, etc.) 2026-08-18 12:18:06 +03:00
Hamza-Ayed 57e3da7ea4 feat(routing): enable elevation profile and steep slope/incline warnings in routing API and frontend 2026-08-18 12:10:32 +03:00
Hamza-Ayed 9247499f50 fix(tactical): sync complete tactical service with LOS and artillery methods 2026-08-18 09:47:04 +03:00
Hamza-Ayed 941420f5c0 fix(tactical): resolve DTO types and TS1272 build error for isolatedModules 2026-08-18 09:46:04 +03:00
Hamza-Ayed a0a5a09135 feat(tactical): add tactical line of sight API, elevation engine, dynamic step resolution, weather module and executive showcase 2026-08-17 19:25:39 +03:00
Hamza-Ayed 03cdc6fe9c feat: implement geometry snapping logic for manual road insertion and approved roads topology 2026-08-16 17:34:06 +03:00
Hamza-Ayed 8061f3e7a3 feat: add road refinement controller and HERE maps in CompareView 2026-08-16 13:35:09 +03:00
Hamza-Ayed 32865e78df Backup before syncing server scripts 2026-08-16 13:17:56 +03:00
Hamza-Ayed dc9d546733 feat: implement billing, usage tracking, and administrative geocoding features in API with infrastructure updates 2026-07-28 04:43:23 +03:00
Hamza-Ayed 3773ab56a4 feat: implement geocoding evaluation scripts and enhance routing service with traffic-aware path processing 2026-07-16 14:31:07 +03:00
Hamza-Ayed c97c961c96 feat: implement manual routing sync system, update map tile URLs to HTTPS, and migrate admin session storage to localStorage 2026-07-15 23:01:18 +03:00
Hamza-Ayed 7a64be5833 feat: add automated crons, telemetry cleanup, RTL support, and manual road candidate tools 2026-07-15 17:14:01 +03:00
Hamza-Ayed 0bb609d5a2 fix: resolve Binance Pay TypeScript strict type error 2026-07-15 15:51:55 +03:00
Hamza-Ayed a39dfe1aaa feat: implement side-by-side synchronized map comparison tool and infrastructure scripts for connectivity and data updates 2026-07-15 14:58:48 +03:00
Hamza-Ayed 790bfcefc8 feat: add Binance Pay webhook handler and implement payment order creation in billing service 2026-07-14 21:46:48 +03:00
Hamza-Ayed 3fba3a40f7 final check 04-16-3 2026-04-16 19:37:25 +03:00
Hamza-Ayed 9f2a03a979 2026-04-16-3 add secur ,billing ,documents , 2026-04-16 05:36:53 +03:00
Hamza-Ayed 47a38d657e 2026-04-16-2 2026-04-16 04:13:55 +03:00
Hamza-Ayed 58f06eeba3 2026-04-16-1 2026-04-16 03:39:49 +03:00
Hamza-Ayed 3d61362602 2026-04-15-4 2026-04-15 19:56:49 +03:00
Hamza-Ayed f1f1818501 2026-04-15-2 dashboard convert to html without vite and react 2026-04-15 15:41:05 +03:00
Hamza-Ayed 3802af0651 2026-04-15-1 dashboard 2026-04-15 01:05:15 +03:00
Hamza-Ayed 50573eb9d3 2026-04-14-8 auth and commercial 0 2026-04-14 21:49:08 +03:00
Hamza-Ayed f5b3f9f790 2026-04-14-8 auth and commercial 2026-04-14 20:14:48 +03:00
Hamza-Ayed be7dcc2652 2026-04-14-7 2026-04-14 18:32:40 +03:00
Hamza-Ayed dd93a0a807 2026-04-14-6 2026-04-14 17:24:01 +03:00
Hamza-Ayed 830b498485 2026-04-14-2 full 2026-04-14 13:28:19 +03:00
Hamza-Ayed 581eda1ea8 2026-04-14-1 2026-04-14 03:03:35 +03:00
Hamza-Ayed b36e197e09 2026-04-13-4 2026-04-13 20:02:57 +03:00
Hamza-Ayed 5bbb5d8d8b 2026-04-13-3 2026-04-13 14:00:42 +03:00
Hamza-Ayed 018fc72d9d 2026-04-13-2 2026-04-13 02:34:23 +03:00
Hamza-Ayed 3b43ff983a 2026-04-13-1 2026-04-13 01:44:32 +03:00
Hamza-Ayed 5ebd7ea3b1 2026-04-12-1 2026-04-12 22:35:38 +03:00
Hamza-Ayed e3799c422c Telemetry Intelligence v2.5: High-performance set-based architecture, grid aggregation, stabilization, and Telegram notifications 2026-04-12 16:36:07 +03:00
Hamza-Ayed 7012ca1c28 feat: add syria data import scripts and update geocoding search to include neighbourhood 2026-04-06 01:30:12 +03:00
Hamza-Ayed 7f812c6929 chore: save state before importing syria data 2026-04-06 01:21:03 +03:00
Hamza-Ayed c136cee04f fix(geocoding): fix query param string parsing, location field mismatch, and distance_km normalization
- controller: @Query() params arrive as strings in NestJS - now explicitly
  parseFloat() all numeric params (lat, lng, radius) before passing to service.
  Also validates against NaN before hitting PostGIS.
- controller: reverse geocode now validates and throws 400 on invalid lat/lng.
- service: searchPlaces now normalizes all results to include:
    - location: { lat, lng } nested object (frontend was crashing on place.location.lat)
    - distance_km: pre-computed string field (frontend was reading undefined distance_km)
    - latitude/longitude as actual floats (not decimal strings from DB)
- frontend (App.tsx): fixed map.flyTo() to read place.latitude/place.longitude
  instead of the non-existent place.location.lat/lng.
- frontend (App.tsx): fixed search result click handler same way.
- frontend (App.tsx): fixed distance display to compute from res.distance (meters).
- entity: added missing source column to BasePlace entity.
2026-03-29 23:30:12 +03:00
Hamza-Ayed ca043b67a8 Final Refinement: Native Labels, Interactive Management UI, and Visual Polishing 2026-03-29 02:55:28 +03:00