40 likes | 90 Views
PGS Software has built an extensive ecosystem of 30 web services and 90 microservices as well as used fully automated 1-click Cloud deployment to increase user experience and Business Success. The development team had to build an entire platform around a core infrastructure. We built an engine based on the Amazon Cloud that drives the entire platform. Our developers began working on an admin module for managing data from affiliate networks, including separate components for specific product providers. They created a cutting-edge price comparison engine and a web store framework. Other development tasks they worked on included a module for tracking transactions via Refer ID, multiple web services that deliver the product data outside and a module that automatically creates AdWords campaigns based on recent sales figures.
E N D
epoints Client’s Profile Case Study www.pgs-soft.com The founding idea that Instant Access Technologies (IAT) had for epoints was simple: to build an online loyalty system with enough redeemable rewards to satisfy anyone. This vision, supplemented with great technology and quality software provided by PGS Software, has proved to be a winning combination. With nearly 2000 online stores and partners, 2 million rewards, and a variety of innovative and interactive ways to earn epoints, it has become one of the most powerful loyalty programs on the web. Thanks to the work of our software developers, IAT also owns a whole ecosystem that epoints is just a part of, including vast product databases, price comparison sites, recommendation engines, Big Data solutions and more. 1. CHALLENGES The amount of software and service cross-dependencies made this one of most ambitious projects in our history. The main challenges included: C Building an extensive ecosystem of over 30 web services, that could be used to deliver various e-commerce products. C Creating an online loyalty program offering multiple ways to earn points and seamless integration with a huge number of partner sites. C Solving Big Data related problems that included managing and analyzing a huge, distributed and automatically synchronized product database and providing real-time search. C The scale of the datasets we worked with pushed us to develop custom caching and indexing solutions. C Everything had to be extremely secure and robust. Due to a large amount of valuable rewards, some users quickly started looking for “epoint hacks” C Business requirements had to be rethought and rewritten, to fully take advantage of available technologies (for example: the product matching method). C Rapid scaling of the project required us to regularly introduce new developers and testers to our team without sacrificing quality or user experience. www.pgs-soft.com © 01
2. PROCESS C Concept phase: it all started when IAT CEO Matt Norbury secured funding for a new online loyalty platform. There was just one catch: he had one month to find a team capable of creating it. His CTO looked up various outsourcing prospects and finally contacted PGS Software. What helped him make up his mind was the calm professionalism of PGS Program Manager who responded to the query in detail within half an hour. DynamoDB, Amazon AWS, Ja- vaScript, MongoDB, Solr, Jenkins, Node.js, Scala, Cucumber, Seleni- um WebDriver, JMeter, Hibernate MySQL, Backbone, Jasmine, Grunt, JUnit, GitHub Technologies 8 developers, 5 testers, 2 graphic designers, team leader Resources Started in October 2011, still active Duration C Early development: the project started with a team of four PGS Software developers. They’ve built an engine that was driving the platform, based on Amazon Cloud. Then, they started working on another basic piece of the puzzle: an admin module for managing data from affiliate networks, including separate components for specific product providers. C Main functionalities: with core infrastructure in place, the team could move on to build the actual epoints platform. It’s currently one of the most comprehensive reward programs on the Web. Users receive points not only for buying specific goods, but also for visiting sites, performing certain actions, writing product reviews, social activity... The team put a lot of work into making epoints fast and secure, and integrate it with a long list of partner sites and reward providers. PGS Software also created a cutting edge price comparison engine and a Web store framework offered separately by IAT. C Other functionalities: other development tasks included a module for tracking transactions via Refer ID, multiple web services that deliver the product data outside, and a module that automatically creates AdWords campaigns based on recent sales figures. In the end, our code repository included a network of 30 complex modules built with SOA guidelines in mind. C Testing: a project of this scale with so many real users and financial data involved called for careful testing. Nearly half of the team consists of QA experts. They play an important role during each release, and perform a comprehensive range of tests. To streamline their work, we’ve created a fully automatic development and testing environment with 1-click cloud deployment. It paid out – the system offers a spotless user experience. C Visual design: in the beginning our client employed several consulting and design companies that researched the market and produced drafts. But just a month away from the planned release, we still had no implementable designs. That’s when the client allowed our in-house designers to step in and prepare something on their own. Two of them quickly created a complete set of beautiful front-end layouts, as well as multiple mobile components. They’ve also built some universal designs for various sub- brands. www.pgs-soft.com © 02
3. RESULT Business and functional benefits: User benefits: Nearly 2000 places to earn epoints from A full ecosystem of e-commerce services and solutions Over 2 million redeemable rewards Industry-leading online loyalty program Secure and fast back-end and database solutions Daily deals and vouchers Improved mobile experience Deep integrations with third-party data pro- viders Gamification and social sharing Highly automated development environment Tools to create own e-commerce sites Transparent code base and a fully modular platform Automated load balancing (deployed using Amazon Web Services) Automatically updated product infor- mation Memorable moment: the cooperation with IAT staff has been extremely close, and they visited our office on several occasions. What we remember best from those trips, was the trouble some of them had with airport security due to a… jar of traditional Polish pickled gherkins. Summary The fact that complexity increases vulnerability is well known in the IT world. In this project, a team of PGS Software developers has managed to stay on top of the entire Web-based ecosystem with dozens of separate services and modules, while providing outstanding stability, performance and security. The project also proves that we are able to tackle Big Data related issues, and that our in-house graphic designers can create work as good as dedicated design houses (and often in a shorter time-frame). With plans to double the team once again, and to bring the ePoints ecosystem global, the partnership with IAT might be one of the most important in PGS Software’s history. About the product: IAT (Instant Access Technologies Ltd.) is a UK-based company that offers innovative products connecting brands and consumers. It’s main offer – the epoints platform – lets users earn virtual currency for their shopping and web-based activities, and exchange it for over 2 million real rewards, including gift cards to retail outlets such as Amazon, Ikea, iTunes or M&S. C About PGS Software: We are a Polish IT outsourcing company specialized in software development and employing over 230 experienced engineers. Our job is to convert your ideas into real-life custom business solutions unavailable with the off-the-shelf boxed products. C For more info, visit www.pgs-soft.com 03
Supplement A: PGS Software’s Automated Testing Environment in Epoints Project Summary 5 testers with program- ming experience Testing team: There’s no room for error with millions of users and financial transactions involved. That’s why during our work on epoints – one of today’s leading online loyalty platforms – as much as 40% of time spent has been devoted to testing. JMeter, Jenkins, Seleni- um Web Driver, Cucum- ber, JUnit BDD, Amazon Web Services, in-house libraries and scripts Technologies used: Apart from using all industry-standard procedures, PGS Software also decided to deploy our own custom automated testing environment. This decision brought several key benefits. Total hours of testing: 11300 TESTING OVERVIEW The epoints project started with just one developer and a single tester who provided module tests. However the growing, distributed architecture made it necessary to rapidly introduce a second dedicated tester together with a wide range of integration tests. We also started to test the API’s and introduced the mock data tests. C Soon after, our toolbox has been supplemented by JMeter and script-based performance analysis. We’ve also started to build and deploy the testing environments automatically on Amazon Web Services using Jenkins. Testing expanded to GUI’s, with help of Selenium Web Driver, Cucumber and JUnit BDD. MAIN BENEFITS C The PGS Software Automated Testing Environment, built upon the extensive experience of our employees, uses proprietary concepts and our own in-house software libraries. Its introduction to the project brought several measurable benefits: At this point, the entire platform comprised of over 30 separate modules, demanding even more QA effort. That’s why our next moves were focused on automation. We’ve created a complete environment where a huge array of testing scripts was launched automatically after every commit. Building upon it, we also started to move the entire project to the Continuous Delivery philosophy, gradually reducing cost and risk of updates and enabling faster iterations. C Reduction of time necessary to set up a new test environment from 2 hours to 5 minutes. Reduction of testing time needed during each sprint by as much as 90% (from 400 hours per sprint to approximately 30-40 hours). Vastly improved deployment time of critical hotfixes and last-minute changes. Instant and automated test reports Continuous UAT that allowed the client to test-drive new functionalities during each sprint. Thanks to all of the above, the end user experience remained flawless throughout the development. www.pgs-soft.com © 04