EventMapper/README.md

1.8 KiB

EventMapper

EventMapper, an easily-deployable, nearly-static digital guide application made in JavaScript.

Specifications

Data Folder Structure

/events
  [FLOOR].json
/rooms
  [FLOOR].json
floors.json

Floor

Used to represent a floor in a building. It is a parent to both its Rooms and Events. This object gets represented in the app as a map poly, and in a set of buttons among other floors.

{
  "id": "[FLOOR ID]",
  "poly": [
    [x, y], // An array of vertex positions.
    ...
  ],
  "lang": {
    "[IETF LANGUAGE TAG]": {
      "name": "[SHORT SINGLE-LINE STRING]",
      "description": "[SINGLE-LINE STRING]"
    }
  }
}

This will be stored in an array in floors.json to be accessed by clients.

Room

Used to represent a space in which events can happen. It is a child to a Floor, and a parent to Events. This object gets represented in the app as a map poly.

{
  "id": "[FLOOR]_[ROOM ID]",
  "poly": [
    [x, y], // An array of vertex positions.
    ...
  ],
  "lang": {
    "[IETF LANGUAGE TAG]": {
      "name": "[SINGLE-LINE STRING]",
      "description": "[SINGLE-LINE STRING]"
    }
  }
}

This will be stored in an array in rooms/[FLOOR].json to be accessed by clients.

Event

Used to represent a point in time when an activity or festivity happens. It is a child to both a Floor and a Room, reflected in its ID.

{
  "id": "[FLOOR]_[ROOM]_[EVENT ID]",
  "when": {
    "start": "[ISO 8601 DATE]",
    "end": "[ISO 8601 DATE]"
  },
  "lang": {
    "[IETF LANGUAGE TAG]": {
      "name": "[SINGLE-LINE STRING]",
      "description": "[MULTI-LINE STRING]",
      "url": "[URL]"
    }
  }
}

This will be stored in an array in events/[FLOOR].json to be accessed by clients.