尚未收集仓库信息。
尚未检测到更新。GitHub 发布版本后会显示在这里。
制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗&view=report&tab=money).In the Rain Report, "Get it installed" recommends a package (Basic, Standard or Plus) with one 2,000 L tank (two on roofs over 400 m²) and a recharge well for the overflow, with more tanks as an option, prices it line by line from sourced parts, and shows 6 and 12 month instalments (indicative instalments, subject to Zindigi's terms). A 3D roof check lets you mark where a tank and downpipe would go, and a free site visit request goes out over WhatsApp. It runs in demo mode until the team number is set: see docs/zindigi-demo.md.
npm install
npm run dev # http://localhost:3000
npm test # rain engine unit tests
npm run build
npm run data:footprints # rebuild the static OSM footprints (currently unused by the map)
No API keys needed. Everything runs on free, keyless services.
Optional: set NEXT_PUBLIC_CONTACT_WHATSAPP (the team's WhatsApp number) to take the site visit and installer forms out of demo mode. It is read at build time.
| Path | What |
|---|---|
src/lib/engine/ | The rain engine. Pure TypeScript, unit tested, the only source of numbers |
src/data/storms.ts | Sourced storm events and gauge locations |
src/data/sectors.ts | Islamabad sector search (approximate centres) |
src/config/city.ts | Everything city-specific |
src/components/ | Map, rain canvas, panels, landing, loader and guided tour |
src/components/report/ | The Rain Report overlay and its sections (lazy-loaded) |
src/components/three/ | The hero's WebGL scene: living plate shader, GPU rain, refracting droplet, fallback detection |
scripts/build-hero-assets.mjs | Compresses the Islamabad plate and builds its hand-tuned depth map and effect masks |
scripts/build-logo.mjs | Builds the favicon, the Apple touch icon, the transparent README logo and the header mark from the logo art |
scripts/extract-footprints.mjs | Builds public/data/footprints/islamabad-demo.geojson (static OSM footprints for E-11, F-10, F-7, G-11, H-8 and Satellite Town, Rawalpindi). Kept in the repo but not used by the map: static footprints drew on top of the live buildings, so the map now uses live buildings only, with draw and type-area as the fallback |
scripts/copy-maplibre-worker.mjs | Copies MapLibre's worker into public/ (runs before dev and build) |
docs/scope-decisions.md | Explicit feature cuts and their honesty rationale |
src/config/packages.ts | Service packages, parts, prices and sources, and the maintenance plan |
src/config/tankers.ts | Tanker prices and the assumed tanker size for the comparison |
docs/qa/2026-09-27.md | Desktop, mobile and production-link QA record |
docs/qa/2026-10-25-performance.md | Phone performance pass, before and after |
docs/zindigi-demo.md | Demo mode and what to fill in before going live |
harvest = roof area × usable share × (rain − first flush) × runoff coefficient
1 mm of rain on 1 m² is exactly 1 litre. Results are ranges, rounded to 100 L. Assumptions and every source are listed in the app ("How we calculate, and every source").
Built by Mayaar OS (Basit and Mustafa) for Banao Imaginathon 2026.
Estimates are preliminary, not engineering advice. We used AI tools to help build this app. No number in the app comes from AI.