Coder Social home page Coder Social logo

escape-the-conference's Introduction

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.