aboutsummaryrefslogtreecommitdiffstats
path: root/app/requirements.tsv
diff options
context:
space:
mode:
authorPetri Hienonen <petri.hienonen@gmail.com>2025-10-29 15:18:30 +0200
committerPetri Hienonen <petri.hienonen@gmail.com>2025-11-03 10:54:48 +0200
commitb03ee7032b2ea2d4d22ab7ec1346b7c9331cfc17 (patch)
treeefc0ce6823ab8611d9c6a0bf27ecdbd124638b73 /app/requirements.tsv
downloadhousing-b03ee7032b2ea2d4d22ab7ec1346b7c9331cfc17.tar.zst
Initial commit
Diffstat (limited to 'app/requirements.tsv')
-rw-r--r--app/requirements.tsv26
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
+