assets | ||
pages | ||
scripts | ||
.gitignore | ||
CONTRIBUTING.md | ||
LICENSE | ||
nodemon.json | ||
package-lock.json | ||
package.json | ||
README.md |
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.