App reference
Look up any key an App declares, and the call or the code behind each part.
An App is declared in one file, apps/, over the Nouns the Startup defines. Each key below links to the chapter that explains it.
The App definition
apps/ declares one App. Frontmatter only.
| Key | Type | Required | Holds |
|---|---|---|---|
kind | saas | admin | directory | commerce | The App kind; saas when unset | |
mount | path | Where it serves on the Domain; /, or / for admin | |
nouns | Noun names | required | The Nouns it shows, a list and a record screen each |
personas | map | Each Persona who signs in | |
personas.*.may | Verb ids | The Verbs that Persona may call; each one is a button and a form | |
slots | map | A Component per slot: list.toolbar, list.empty, record.header, record.aside, record.actions, record.tab, form.after, dashboard.section |
---
kind: saas
mount: /app
nouns: [Lease]
personas:
manager: { may: [Lease.create, Lease.renew, Lease.notify] }
resident: { may: [Lease.get] }
slots:
record.aside: Timeline
---The Product that sells it names App in its $type, in a product file.
Verbs
| Verb | What it does | Status |
|---|---|---|
App.publish | Serves the newest build to every Tenant | live |
Version.deploy | Points the App at a Version, the previous one to roll back | live |
Tenant.provision | Makes a Customer's Tenant when it accepts an Offer | live |
Tenant.invite | Asks a person to join a Tenant | live |
App.pause | Stops serving the App's screens while the API keeps answering | planned |
Tenant.requestSupport | Asks a Tenant's admin for time-limited support access | planned |
Build it in code
| Part | Code |
|---|---|
| Screens and components | UI components |
| Records and queries | Database |
| Sign-in, sessions and keys | Auth |
| Uploads and documents | Storage |
| The Function behind each Verb | Functions |
| Live updates | Realtime |
| Errors, logs and uptime | Monitoring |
| One replaced screen | Views |
| The folder | apps/ |