Logo Lanfrica

dagimg-dot/dehna-net

Domaine:

digital infrastructuregeospatial

Type de record:

software
Créateur:
dag
Hôte:
Crowdsourced speed radar and heatmap for Ethiopia — SolidJS, Leaflet, Supabase # dehna-net — Crowdsourced Speed Radar and Heatmap A high-performance, real-time internet speed benchmark and crowd-telemetry mapping platform built with SolidJS, Leaflet, Vite, and Supabase. Inspired by boundr's dark aesthetic and map-first interface. --- ## Features - **Automatic Location and Telemetry Detection**: Browser Geolocation API with reverse-geocoding and IP fallback. - **Multi-Phase Speed Benchmark**: - **Latency and Jitter**: Rapid multi-packet round-trip probe against edge nodes. - **Download Throughput**: Real-time streaming chunk download with live 60 FPS gauge and sparkline waveform. - **Upload Throughput**: Payload buffer benchmark. - **Interactive Leaflet Radar Map**: - CartoDB Dark Matter vector tiles. - Speed-graded pulsating radar markers (Gigabit, High Speed, Standard, Slow). - Telemetry inspection popovers with Ping, Jitter, ISP, and Time-ago badges. - Dynamic camera fly-to on test completion. - **Network and Carrier Controls**: - Network selector options (5G, 4G LTE, Wi-Fi, Fiber, Starlink, Cable). - ISP and carrier lookup with editable overrides. - Top filter bar to isolate specific network technologies. - **Viewport Area Telemetry Summary**: Live calculations of average download, upload, ping, and top provider in current map bounds. - **Anti-Abuse and Deduplication**: - 3-minute device cooldown throttling. - Geohash Level 7 spatial aggregation. - **Supabase Realtime Sync and Offline Resilience**: Operates in local-first mode with pre-seeded points when unconfigured, and connects to Supabase Realtime when credentials are provided in environment variables. --- ## Tech Stack - **Framework**: SolidJS + Vite + TypeScript (Strict Mode) - **Mapping**: Leaflet.js - **Linter and Formatter**: Biome - **Backend and Database**: Supabase (PostgreSQL, Realtime, RLS) - **Package Manager**: Bun --- ## Getting Started ### 1. Install Dependencies ```bash bun install ``` ### 2. (Optional) Configure Supabase Copy `.env.example` to `.env` and add …