diff options
| author | Petri Hienonen <petri.hienonen@gmail.com> | 2025-10-29 15:18:30 +0200 |
|---|---|---|
| committer | Petri Hienonen <petri.hienonen@gmail.com> | 2025-11-03 10:54:48 +0200 |
| commit | b03ee7032b2ea2d4d22ab7ec1346b7c9331cfc17 (patch) | |
| tree | efc0ce6823ab8611d9c6a0bf27ecdbd124638b73 /app/requirements.tsv | |
| download | housing-b03ee7032b2ea2d4d22ab7ec1346b7c9331cfc17.tar.zst | |
Initial commit
Diffstat (limited to 'app/requirements.tsv')
| -rw-r--r-- | app/requirements.tsv | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/app/requirements.tsv b/app/requirements.tsv new file mode 100644 index 0000000..173a43f --- /dev/null +++ b/app/requirements.tsv @@ -0,0 +1,26 @@ +ID Category Requirement +ARCH-1 Architecture Three-file ES6 module structure: app.js, dom.js, models.js map.js geometry.js +ARCH-2 Architecture Dynamic styling with no external CSS +ARCH-3 Architecture Modern javascript with import maps for clean module resolution +ARCH-4 Architecture Comprehensive JSDoc type definitions with TSC validationn +ARCH-5 Architecture Direct use of SVG and DOM interfaces +ARCH-6 Architecture Static, private, classes, modules, minimal state, function chaining, null safe +UI-1 UI Single view layout with map and control panel +UI-2 UI Native SVG map with Helsinki district boundaries +UI-3 UI Color-coded house markers based on scoring +UI-4 UI Native dialog elements for house details +UI-5 UI Toast notifications for error handling +UI-6 UI Weight sliders for scoring parameters +UI-7 UI Filter controls for price, year, area and first appeared +DATA-1 Data Main map datasets from local geojson files +DATA-2 Data Couchbase API integration for house data +DATA-3 Data Class-based data models with fromJson() +DATA-4 Data Scoring engine with weighted criteria +PERF-1 No DOM selectors but use of direct layout handles +ERROR-1 Error Handling Meaningfull debug information +MAP-1 Direct WGS84 coordinates with moving view space +MAP-2 Map House markers with hover and click interactions +MAP-3 Map Responsive map that handles window resize, zoom and pan +TYPE-1 Types Strict JSDoc typing for all models and functions +DEVX-1 Developer Exp Clean separation of concerns between modules + |
