An app is a composed of several parts: Models and records hold the data that your app wants to keep track of. Rules are triggered by certain events in the app and perform arbitrary actions that are defined by you (the developer). Queries can be used to fine-tune access to the models and records, adding powerful filtering and merging capabilities. User interfaces and views are the graphical interfaces that users normally interact with. They contain widgets such as buttons, datagrids, labels and textfields. Similar to rules, widgets can also react to events (like a button click) and perform actions. By using all these features together, you can create powerful and intuitive apps with endless possibilities!