This section explains the high-level design of the frontend and backend.
Application design follows a slightly different version of the Model-View-Controller (MVC) pattern, with the addition of the
Communication layers to simplify the controller layer of traditional iOS application MVC pattern. All application layers are explained in the following sections.
Plain old model structures. These models do not have any logic and only consist of properties. There are four types of models: