From b03ee7032b2ea2d4d22ab7ec1346b7c9331cfc17 Mon Sep 17 00:00:00 2001 From: Petri Hienonen Date: Wed, 29 Oct 2025 15:18:30 +0200 Subject: Initial commit --- app/requirements.tsv | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 app/requirements.tsv (limited to 'app/requirements.tsv') 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 + -- cgit v1.2.3-70-g09d2