aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPetri Hienonen <petri.hienonen@gmail.com>2025-11-11 15:54:37 +0200
committerPetri Hienonen <petri.hienonen@gmail.com>2025-11-11 15:54:37 +0200
commit4372d56a51a9596b1636d133b03057b0ba84c920 (patch)
treecceb0453932120c7551fff300ffa6b7311546187
parent909773f9d253c61183cc1f9f6193656957946be5 (diff)
downloadhousing-4372d56a51a9596b1636d133b03057b0ba84c920.tar.zst
Requirement update
Diffstat (limited to '')
-rw-r--r--README.adoc3
-rw-r--r--app/requirements.tsv21
2 files changed, 9 insertions, 15 deletions
diff --git a/README.adoc b/README.adoc
index f50050b..57e26bb 100644
--- a/README.adoc
+++ b/README.adoc
@@ -63,11 +63,8 @@ go run main.go
== Next steps
- Implement additional map features, "metro", "pikaraitiotie", "koulut", "kaupat".
-- Add possibility to color districts based on data such as crime rate, etc.
- Make the weight calculation work.
-- Fix the map zoom and initial viewport
- Add links to house details on the service. Add additional images
-- Parse more data from data source. Currently only overview.
- Images on modal open on click to a new window
- Visual programming? Value function description with Javascript?
- Notifications to user on new houses
diff --git a/app/requirements.tsv b/app/requirements.tsv
index 12cc95a..bd79b52 100644
--- a/app/requirements.tsv
+++ b/app/requirements.tsv
@@ -1,10 +1,9 @@
ID Category Requirement
-ARCH-1 Architecture Five-file ES6 module structure: main.js, dom.js, models.js map.js geometry.js
+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 javascript with import maps for clean module resolution
-ARCH-4 Architecture Comprehensive JSDoc type definitions with TSC validationn
-ARCH-5 Architecture Functional declarative interface around browsers native SVG (svg.js) and DOM (dom.js).
-ARCH-6 Architecture Code style: Prefer static, private, Classes, modules, minimal state, function chaining, modern null safety.
+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 map with Helsinki district boundaries
@@ -14,15 +13,13 @@ 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 if it is ever needed.
+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 patches. All changes are collected and elements replaces at once.
-ERROR-1 Error Handling Meaningfull debug information
-ERROR-2 Error Handling Errors should be raised when the program has ended up in a state that it would not be in.
-MAP-1 Direct WGS84 coordinates with moving view space
+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
-TYPE-1 Types Strict JSDoc typing for all models and functions
-DEVX-1 Developer Exp Clean separation of concerns between modules
+DEVX-1 Developer Exp Clean separation of concerns between modules and components. Each component should handle its internal state.