com.bbq-joints.review

bbq-joints.com

Documentation

One person's review of a BBQ joint, held in their own repository. The reviewer owns it: they can edit or delete it, and it travels with them to any other app that reads this collection.

main record

One person's review of a BBQ joint, held in their own repository. The reviewer owns it: they can edit or delete it, and it travels with them to any other app that reads this collection.

Record Key any Any valid record key

Properties

createdAt string datetime Required

When the record was written.

rating integer Required

Stars, 1 to 5.

minimum: 1maximum: 5
subject string at-uri Required

The place being reviewed, as the at:// URI of its com.bbq-joints.place record. A URI rather than a name so a joint can be renamed without orphaning its reviews — the mistake that cost a photo its joint when the cloud schema travelled by name.

text string Optional

Optional note. maxGraphemes as well as maxLength because an emoji-heavy review is short to a reader and long in bytes.

maxLength: 2000 bytesmaxGraphemes: 1000 graphemes
updatedAt string datetime Optional

Set when an existing review is changed, so a reader can tell a revision from a fresh opinion.

visitedAt string datetime Optional

When they ate there, if they said. Distinct from createdAt: a review written months later is still about that visit.

View raw schema
{
  "description": "One person's review of a BBQ joint, held in their own repository. The reviewer owns it: they can edit or delete it, and it travels with them to any other app that reads this collection.",
  "key": "any",
  "record": {
    "properties": {
      "createdAt": {
        "description": "When the record was written.",
        "format": "datetime",
        "type": "string"
      },
      "rating": {
        "description": "Stars, 1 to 5.",
        "maximum": 5,
        "minimum": 1,
        "type": "integer"
      },
      "subject": {
        "description": "The place being reviewed, as the at:// URI of its com.bbq-joints.place record. A URI rather than a name so a joint can be renamed without orphaning its reviews — the mistake that cost a photo its joint when the cloud schema travelled by name.",
        "format": "at-uri",
        "type": "string"
      },
      "text": {
        "description": "Optional note. maxGraphemes as well as maxLength because an emoji-heavy review is short to a reader and long in bytes.",
        "maxGraphemes": 1000,
        "maxLength": 2000,
        "type": "string"
      },
      "updatedAt": {
        "description": "Set when an existing review is changed, so a reader can tell a revision from a fresh opinion.",
        "format": "datetime",
        "type": "string"
      },
      "visitedAt": {
        "description": "When they ate there, if they said. Distinct from createdAt: a review written months later is still about that visit.",
        "format": "datetime",
        "type": "string"
      }
    },
    "required": [
      "subject",
      "rating",
      "createdAt"
    ],
    "type": "object"
  },
  "type": "record"
}

Lexicon Garden

@