Escape the conference was part of the first Escape the Conference game during APIDAYS Paris conference, in December 2018.
Attendees of the conference were invited to solve some riddles that were hidden in the venue.
To help them find the riddles, we created this Hypermedia Maze. The API gives them instructions of what to look for and some of the maze's cells contain clues of where the riddles are hidden. The concatenation of the riddles solutions forms a token that could be validated with the API.
The project is largely based on @picsoung's work APIbunny
Find the whole story here.
Maze data are stored in /data/uber-maze.js
.
fortune_init.js
launch the API with no restrictions
mazes.js
reads the info from maze data file and call the API to create the maze in database
fortune.js
launch the protected version of the API.
By default we use nedb
check the Fortune.js guide to change it.
Databases are stored in /db
To track calls in the API we use Keen.io Analytics API. In config.js
you will need to add your Keen.io keys to make it work.
You will also have to change privateKey
variable to your own, it's used to generate a hash when users have finished the maze.
In this config file you can also configure the baseUrl of your API or the port where it will be available.
git clone https://github.com/bjacquemet/escape-the-conference.git
cd escape-the-conference
npm install
node fortune_init.js
in another terminal to create the maze
node mazes.js
Kill init and launch the "protected" version
node fortune.js