# 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](#room) and [Events](#events). This object gets represented in the app as a map poly, and in a set of buttons among other floors. ```json { "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](#floor), and a parent to [Events](#event). This object gets represented in the app as a map poly. ```json { "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](#floor) and a [Room](#room), reflected in its ID. ```json { "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.