What you need to get started
- Revision Control System - somewhere to keep your code (we will be using git)
- CI System - somewhere to define your build process (we will be using Atlassian Bamboo)
- Build Server - a place to build and test your code (we will be using Amazon EC2)
- Binary Repository Manager - for your Artifacts (we will be using SonaType Nexus)
We will also use specific components for automated testing, code quality analysis, documentation and visualization. However, the installation and usage of these components will be explained once they are introduced in the articles to come.
About the Demo Project
The project is simulating a DID Provider, that is, a supplier of common phone numbers. In this model, the DID Provider holds large pools of phone numbers in multiple countries, which clients can purchase for a nominal fee. To purchase a DID, you must first lock a range of numbers. This lock exists for 15 minutes (not written in stone). Each lock has a unique lock code. From the range of locked numbers, you are allowed to pick one number, which you allocate with an API-call together with the lock code. The locked but non-chosen numbers are returned to the "number pool" of available numbers as soon as you pick a number.
The setup is based on a LAMP-stack using CentOS 6.6, PHP 5.3, MySQL 5.6, Apache 2.2 and SOAP APIs using WSDL.. For more information, you can check out my article on how to setup a virtual LAMP-stack on VirtualBox!