Web-based aggregator application for real escape games
Development of a minimum viable product (MVP) web application, administrative panel and back-end
Dmitriy is the owner of real escape games information service. He came to us with brand new business model of escape games aggregation and ambitious goals on entering Russian market.
Real life escape rooms are quite new gaming trend. Over the past year the number of escape rooms in Krasnoyarsk increased from 30 to 100 and this number is still growing. Everything gets more complicated as escape rooms owners try to make escape quests more and more sophisticated and users become more picky and trust the grapevine.
Create filtration process and make game choice user-friendly and informative. Make fair game feedback process. Implement mechanics that will properly distribute aggregator money flow to the escape room owner and the client. Prepare detailed technical documentation and provide front-end development team with technical support.
Negotiating phase took us about 2 months. During this time we carefully described project framework and limits, its scalability and user actions. We also described commands available to each of six user roles on customer website and administrative panel.
We had to fine-tune some things real fast to suit changing front-end design of the website.
The most interesting part of the project was creating a booking tool. Quest maker can load and adapt this widget to a any website. Moreover we made it possible to control all booked sessions from one administrative panel (both from our and from customer website).
We made full administrative panel that allows to control escape games, users and financial flows.
We also worked all nuances on front and back ends connection out.
We created dynamic widget that can be loaded to any website and allows game sessions booking.
A main logic of the application is described on a Web service side. The Web service is a REST API which is built on the NodeJS platform and use a database on MongoDB for storing information.
A client side has been split into 3 parts: a public website, an administrator back office and a schedule widget to build it into customers websites.
The administrator back office has been built as the AngularJS application based on the Inspinia template. To build the widget into third-party websites we have provided a JS script which embeds an iframe into a page body.
All 3 clients applications collaborate with Web API via HTTP.