About
This project is a combination of back-end and front-end applications managing different parts of the ecosystem. Bottles Waiting is an innovative Software as a Service (SaaS) company in the booming nightlife industry. It helps day clubs and nightclubs operate more effectively and tap into new revenue streams through unique table and bottle management software. From event creation to event data, Bottles Waiting is set to be the most useful software for clubs.
Challenge
dFusion worked on functional fixing, support, and extension of BottlesWaiting application. Our main goal was to create a set of web applications with user-friendly interface for doormen, DJs, and party goers.
We had to make existing applications more convenient and add a couple of more features such as:
ordering bottles, mixers, presentations from phone for all customers;
viewing DJs’ profiles and listening to their tracks at Soundcloud;
browsing events without logging in;
viewing all the charges before committing (including taxes, tip, etc.);
For this purposes, we needed to implement back-end functionality which allows to use scalable multi-thread and multi-node application configuration.Also, we required to integrate the app with third-party systems and media content analytics to enable:
email alerts;
payment system;
third-party authentication;
The client-side part is a single-page application that uses AngularJS. We decided to use Angular JS because at the project start it was a relevant web application framework maintained by Google.
Furthermore, it is a very powerful tool for creating single-page web applications in addition to Apple’s Cocoa Touch for iOS used for building software applications.
We’ve implemented a proper authentication and authorization strategy, so that any sensitive data can be accessed via server-side API. Also, the project supports social login as requested by the customer.
Solution
For our purposes we used DynamoDB data storage because it’s fast, fully managed NoSQL database service that makes it simple and cost-effective to store and retrieve any amount of data. Additionally, it helps serve any level of request traffic. Then we use a set of distributed back-end applications such as Spring which includes several modules that provide a range of services powered with Java. On the front-end, there is a web application built with Angular.js, Bootstrap and Cocoa Touch for OS X and iOS.