Bonus System

Challenge

In May, 2012 iQueSoft won the oDesk tender for the development of a back-end module of an innovative gaming platform. This platform enables to automatize processes related to online games. Such processes include user management, affiliates program management, integrations with payment systems and others.

  bonus-41 copy

 

The module, we were to create, was named “Bonus”. It is responsible for bonus issuance process and allows to configure different bonus issuance strategies based on a broad set of rules. The module consists of two parts – a visual designer part and back-office part which processes the database with gaming events and applies bonuses configured in visual designer.

The module had to be developed as a SaaS solution and to support the existing platform infrastructure. In particular, it needed to provide multicurrency support as well as the support of different types of games such as Poker, Casino, sports bets and other modules.

 

Requirements

Our customer has already been developing the software for a game industry for a long time, that is why he selected the technologies to be used in the project. He chose a stack of new Microsoft technologies for Web development. There were the following requirements for the Bonus system:

  • It had to be quick and scalable as well as to process great amounts of data, which imposed considerable restrictions on the choice of the data processing methods
  • It had to run 24 hours a day simultaneously on many back-ends. This supposed special effort to be applied to process and diagnose errors
  • It had to work in close integration with other subsystems, which were being developed simultaneously
  • It had to support a great number of languages as well as different currencies for bonus payment

 

Solution

The project was quite difficult for comprehension in terms of business requirements. It was complex from technological point of view either, because it involved dynamic generation and execution of complex SQL queries against the data flows with millions records per day.

“Good planning and Project Management were a must-have because of the necessity of integration with other systems and teams.” – said the Bonus PM.
bonus-25

Before undertaking this project as a proof of our skills, we successfully developed a pilot project of about 10 man/days long and demonstrated that we have strong expertise in Web development.

Online Game industry was an absolutely new expertise for us, that is why we constantly came across a lot of new terms and processes the meaning of which we didn’t understand at the beginning of the project. The customer realized that providing us with detailed requirements greatly simplified our development process.

“The developers’ initial lack of business domain knowledge was compensated with the detailed requirements and later on, by an experienced analyst.” – the Bonus Project Manager said.

 

We developed the database scheme for visual designer and core website architecture by ourselves. The back-office part of the module was initially developed by the onshore team. The development of the visual designer included the development of 40 graphical widgets.

Gradually the development process turned into full-scale SCRUM, the requirements to the product evolved, the number of team members and grew.

The widgets were those building components which were used by an operator to configure rules of  the bonus issue while placing and setting the widgets at the designer surface. It allows to configure any combination of rules for issuing bonuses. One of the examples of such a combination of rules is to give 500 $ of bonus points to all the Malaysian female gamers, who have registered in the Poker game on their birthday and staked more then 0$ using particular affiliate or bonus code.

The module was developed successfully, it took 2.5 years to put it into production. Both our customer and we received an invaluable experience as iQueSoft has developed and implemented a lot of engineering approaches, which we use in other projects of Web development.