Skip to content

Commit

Permalink
Merge branch 'main' into 81_introduce_mechanism_to_automatically_lint…
Browse files Browse the repository at this point in the history
…_the_sources_before_each_push
  • Loading branch information
lilitkarapetyan authored Feb 3, 2025
2 parents cb43b7e + 18ab312 commit 3dda872
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 0 deletions.
3 changes: 3 additions & 0 deletions doc/architecture/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
## Architecture Decision Log

This folder contains a list of Architecture Decision Records (ADRs) for this project.
24 changes: 24 additions & 0 deletions doc/architecture/choice-of-GeoJSON-feature-for-element-types.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
## Status
Accepted

## Context
We're going to store application data in GeoJSON. We need to decide which GeoJSON feature type to use for our data.

## Decision


| Element | Feature Type | Rationale / Other thoughts |
|------------|--------------|--------------------------------------------------------------------------------------------------------------------------------------------------------|
| Track | Line String | If we ever need to support multiple track segments, switch to array of line segments (Multi Line String) |
| Buoy Field | Multi Point | |
| Zone | Polygon | We may support several different zone shape styles. Shape-specific construction points/dimensions could be stored as properties, but resulting shape stored in polygon. |
| Line | Linestring | In legacy system lines are type of zone, but suggest renaming to avoid confusion. When loading 3rd party data treat a Line String as `Track` if it contains time data, else `Line` |
| Point | Point | |
| Metadata | Point | Create point feature with empty coordinates, then store app level metadata in properties. Generate multiple metadata features if logically necessary. |
| | | |


## Consequences
Future maintainers will thank use for wise data storage decisions.


2 changes: 2 additions & 0 deletions doc/architecture/file-suffix.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,3 +21,5 @@ Use `.alba` as the file suffix for all files related to this application. Even
- We superficially hide the fact that we're working with GeoJSON files
- We can give the files a user-friendly icon and file-type descriptor
- We can associate `.alba` files with this application, so double-clicking on one opens it in this app - and we don't offer that integration to other (unrelated) `.geojson` files.

Warning - we may the system file dialog to save files in a particular format, or load files in a particuler format. If we're doing this via file suffix, then the above strategy works. But, if we have to do it via `mime-type` (such as `application/json` then we should go with standard json suffixes.

0 comments on commit 3dda872

Please sign in to comment.