In a general sense, this is what the architecture of each module looks like:
- Clients: typescript wrapper classes around all the zome functions that a zome exposes.
- Stores: maintain backend state synched and always up-to-date for any element to subscribe to it.
- Elements: custom elements that are reusable in any framework, they export common UI interfaces to the zome's domain data.
In the following sections there are detailed explanations about each of the components of the architecture, their technology stack and how to use them.