ID Category Requirement ARCH-1 Architecture Six-file ES6 module structure: main.js, dom.js, models.js map.js, components.js, svg.js ARCH-2 Architecture Dynamic styling with no external CSS (HTMLElement style property). RGBA coloring. ARCH-3 Architecture Modern ecmascript with import maps for clean module resolution and jsdoc types ARCH-5 Architecture Functional declarative interface around browsers native API's - SVG (svg.js) and DOM (dom.js). ARCH-6 Architecture Code style: Prefer static, private, Classes, modules, constricted state, function chaining, null safety by design. ARCH-7 Architecture Less program lines and generic approach is always preferred over "Ad hoc" patching. UI-1 UI Single view layout with map and control panel UI-2 UI Native SVG with own functional oriented wrapper API. UI-3 UI Color-coded house markers based on scoring UI-4 UI Native dialog elements and cards 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 Models translate json data into application structure. DATA-2 Data Couchbase API integrates for house data and enables querying DATA-3 Data Scoring engine with weighted criteria PERF-1 No DOM selectors but use of direct layout handles (we know each element). PERF-2 Changes to DOM are performed in groups - All changes are collected and elements replaces at once. ERROR-2 Error Handling Errors should be raised when the program has ended up in a state that it should not be in. MAP-1 Direct EPSG4326 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 DEVX-1 Developer Exp Clean separation of concerns between modules and components. Each component should handle its internal state.