75 lines
No EOL
1.8 KiB
Markdown
75 lines
No EOL
1.8 KiB
Markdown
# 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. |