aboutsummaryrefslogtreecommitdiffstats
path: root/app/requirements.tsv
blob: 173a43fa1f5c759ce4770226d0937d2c9609caf2 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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