Skip to content

bjacquemet/escape-the-conference

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Escape the conference

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.

Play with the maze

http://escape.apidays.co

Dependencies

How does it work

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

Config

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.

Install

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

About

Hypermedia maze created for APIDAYS Paris 2018

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 90.7%
  • CSS 9.3%