This document serves as a location to record high level architectural and implementation patterns, including their histories and any tradeoffs. It is mean to all of us as contributors grow together as we build this app and empower any developer looking to contribute by guiding their efforts through the currently preferred patterns.
It is not meant to explain what the code is doing or how to use specific abstractions. It is also not meant to force us into a dogmatic corner; there are always exceptions to the rules.
This document is to be considered living and is owned by all contributors to this project, be they technical or otherwise. Updates to this document are encouraged as needed and can be submitted via PR as with any other contribution to this repository.
For a detailed discussion of current patterns and implementation within the app see: PATTERNS.md