pwaLUPMIS2/.gitignore
ekke da6f968725 Zonal-statistics Excel export, COG layer entry point, DE Africa ETL
Excel export (from TWG feedback)
- src/analysis/xlsx.js: a dependency-free XLSX writer — an .xlsx is a ZIP of
  XML, so this packs the required parts with a small stored-ZIP writer. Avoids
  SheetJS (stale npm package with advisories) and ExcelJS (heavy for an
  offline-first field app), and does not rely on the JSZip that only reaches us
  transitively via shp-write. Lazy-loaded as a ~5.6 kB chunk.
- After a zonal run the Analysis panel offers "Export table (Excel)", writing a
  two-sheet workbook: Results (figures as real numbers) and Parameters (zone
  and input layers with feature counts, the "Apply to" scope, membership rule,
  statistics, numeric field and export time) — so a table can be verified or
  reproduced later rather than being an unattributed set of numbers.
  The button is hidden for overlay runs and cleared when the mode changes.
- Verified against two independent readers: openpyxl loads it with zero
  warnings and correct numeric types, and LibreOffice Calc opens it as a
  spreadsheet. Also exercised end-to-end through the real zonal pipeline.

COG raster entry point
- Add External Layer gains a COG type alongside WMS/WFS/XYZ, with a URL
  pre-flight check that distinguishes a web page, a 404, a CORS block and a
  server without byte-range support — geotiff.js otherwise reports these only
  as an opaque "AggregateError: Request failed".

Digital Earth Africa ETL
- etl/deafrica_dem_to_minio.py exports a DE Africa DEM for a district as a COG
  and uploads it to the LUSPA MinIO bucket raster-objects, then verifies the
  object is anonymously readable and range-capable. Credentials come from the
  environment; the existing PHP integration hardcodes them and an earlier key
  pair reached Gitea. NOTE: not yet run against the Sandbox — start with
  --list-products to confirm the DEM product name.

Documents
- Concept note: Digital Earth Africa added as a raster source (§6.3), separating
  the live WMS route from the batch Sandbox export; corrected the in-house
  contour table's provenance to OpenTopography (gdal_contour over an SRTM 30 m /
  Copernicus 30 m DEM), and added the ToR §2.4.2 / FS §2 alignment chapter.
- TWG presentation, architecture and two integration workflow charts (SVG
  sources kept in the repo so they stay editable), and a user guide for the
  Analyse tools.

Service worker v13 -> v14. .gitignore: exclude Python bytecode from etl/.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-23 16:28:45 +02:00

112 lines
2.1 KiB
Plaintext

# ============================================================================
# LUPMIS2 PWA — .gitignore
# ============================================================================
# ----- Node / npm dependencies -----
# Re-installable from package-lock.json; never tracked.
node_modules/
# Vite's dependency optimisation cache (lives inside node_modules but listed
# explicitly for clarity).
node_modules/.vite/
.vite/
# npm / yarn / pnpm logs and debug files
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*
# ----- Build artefacts -----
# Vite produces these but we do NOT ignore `dist/` because the repo serves
# the built output directly. If you switch to a CI-based deploy pipeline
# later, uncomment the next two lines.
# dist/
# dist-ssr/
# Pre-compressed / source-map sidecar files outside dist/
*.tsbuildinfo
# ----- Local environment & secrets -----
.env
.env.local
.env.*.local
*.local
# ----- IDE / editor configuration -----
# BBEdit project / scratchpad state
*.bbprojectd/
# Visual Studio Code (keep recommended-extensions and tasks.json if added)
.vscode/*
!.vscode/extensions.json
!.vscode/tasks.json
!.vscode/launch.json
# JetBrains IDEs (WebStorm, IntelliJ, etc.)
.idea/
*.iml
# Zed
.zed/
# Sublime Text
*.sublime-workspace
*.sublime-project
# Vim / Emacs swap files
*.swp
*.swo
*~
.#*
# ----- OS metadata -----
# macOS
.DS_Store
.AppleDouble
.LSOverride
Icon
Icon?
._*
# Windows
Thumbs.db
ehthumbs.db
ehthumbs_vista.db
Desktop.ini
$RECYCLE.BIN/
# Linux
.directory
.Trash-*
# ----- Project-specific -----
# Interim Word-document backups produced when iterating on reports
# (the *current* report file stays tracked; only versioned snapshots are
# excluded).
LUPMIS2_Development_Status_Report-v*.docx
*-v[0-9].docx
*-v[0-9][0-9].docx
# SQLite databases dropped in the project root for ad-hoc inspection
/*.sqlite3
/*.sqlite3-journal
/*.db
# Coverage / test output
coverage/
.nyc_output/
# Misc caches
.eslintcache
.parcel-cache/
.cache/
# Microsoft Office lock / owner files (e.g. ~$Document.docx)
~$*
# Python bytecode (etl/ scripts)
__pycache__/
*.pyc