aboutsummaryrefslogtreecommitdiffstats
path: root/app/requirements.tsv
diff options
context:
space:
mode:
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
+