Public App (with private data)
Publicly available, but with user-specific data capabilities
The purpose of this app is to demonstrate how one can build a public app - one that doesn't require a user to be logged in - yet still show user-specific data.
Also see: tablet mode & fullscreen mode
How we built this app
There are two main tables that make this work: - Users (where, naturally, a user creates their record in the User table); and - User_Devices (a "joining" table that connects a user's device to a user record. Devices are linked via the use of CONTEXT("Device") - which pulls the GUID (assigned by AppSheet internally when first opening any app) for the device being used to access the app. Inside the User table, there's a virtual column that compiles a list of device GUIDs that are "approved" by the user - if the GUID of the device running the app is found inside that list, then the app shows you that specific user record (via the Current_User slice).
This is a preview of the data sets used in the app.
This is a high-level model of both the data entities and the UI elements in the app.