Skip to content

Commit

Permalink
more documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
hofstef committed Aug 7, 2024
1 parent 725070a commit b4d1e20
Showing 1 changed file with 33 additions and 6 deletions.
39 changes: 33 additions & 6 deletions architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -206,27 +206,54 @@ The architecture rules are enforced with ArchLint and can be checked by running

## Level 3: Tools

TODO: Vertical Slices

The folder structure resembles the vertical slices.
TODO: Show vertical slices and usage of bmpn-js. The folder structure resembles the vertical slices.

# Runtime View {#section-runtime-view}

*The runtime view describes concrete behavior and interactions of the system’s building blocks in form of scenarios.*

This section is omitted as Egon consists only of one building block.

# Deployment View {#section-deployment-view}

*The deployment view describes the technical infrastructure used to execute your system.*

TODO: Maybe document development pipeline here (Github Action builds and pushes to Github Pages, builds Docker container)

# Architecture Decisions {#section-design-decisions}

*Important, expensive, large scale or risky architecture decisions including rationales. With “decisions” we mean selecting one alternative based on given criteria.*

TODO:

- Use Browser Storage to Persist Configuration
## Decision: Use Web Storage to Persist User-specific Information

Users can configure their icon set and autosave properties. To avoid having to configure everything again the next time a user uses Egon, the user-specific information must be persisted.

Also, autosave creates drafts that must be restorable across browser sessions to recover Domain Stories after a browser crash.

Since Egon runs completely in the browser, we must use local means to persist all user-specific information.

**Decision:** Use *Web Storage* (i.e., `localStorage`) to persist user-specific information across browser sessions. All popular web browsers implement this standard.

Alternatively, cookies could be used (and in fact were used in earlier Egon versions). Unlike cookies, the storage limit is far larger (at least 5MB).

## TODO
- 1 model = 1 Domain Story = 1 File
- Angular-specific patterns

# Quality Requirements {#section-quality-scenarios}

## Quality Tree {#_quality_tree}
*This section contains all quality requirements as quality tree with scenarios.*

## Quality Scenarios {#_quality_scenarios}
TBD

# Risks and Technical Debts {#section-technical-risks}

*A list of identified technical risks or technical debts, ordered by priority*

TBD

# Glossary

Egon uses terminology of Domain Storytelling in the UI and in the code. See [Domain Storytelling Website](https://domainstorytelling.org/quick-start-guide#the-pictographic-language).

0 comments on commit b4d1e20

Please sign in to comment.