No description
Find a file
2024-06-08 11:36:42 -05:00
assets Focus stuff 2024-06-08 11:36:42 -05:00
pages Lots of little QOL style fixes, remove minimized event panels 2024-06-08 03:57:38 -05:00
scripts Focus stuff 2024-06-08 11:36:42 -05:00
.gitignore make a small server that gathers and merges data and stuff like that 2024-05-29 00:16:02 -05:00
CONTRIBUTING.md Allcapses 2024-05-28 22:05:18 -05:00
LICENSE Allcapses 2024-05-28 22:05:18 -05:00
nodemon.json I forgot to do rolling commits 2024-06-02 00:39:23 -05:00
package-lock.json stuff & things, add more UI 2024-06-02 22:54:02 -05:00
package.json stuff & things, add more UI 2024-06-02 22:54:02 -05:00
README.md Focus stuff 2024-06-08 11:36:42 -05:00

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]",
      "shortName": "[INITIALS OF NAME]",
      "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.