Vbarter Phoenix was about creating a modern, API based, scalable and secure financial application with a catch. We were tasked to achieve this without disturbing the current application. The solution we decided was to extend the platform to provide RESTful APIs, add support for Robust reporting, OAuth based SSO etc. The end result is an application that can be presented and connected to any device starting from smart watches to giant TV screens.
The major components are Perl, AngularJS, bootstrap, REST APIs, PHP based presentation layer and CMS for web, mobile applications, Siri integration etc. The project involved building REST APIs which sends data over SSL to Angular based front end. View is generated entirely at the front end in the case of all devices and resolutions. This a project under development for last 13+ years of which last 7 years is under with Agileblaze.
Technologies in the backend:
Java, Python, Perl, Jasper Reports, PostgreSQL, Solr and some PHP for portals.
Technologies used for front end:
Angular.JS, Bootstrap, Jasper Report components for reporting.
Mobile has both native and hybrid versions on Android and iOS.
Infrastructure Architecture and DevOps
The massive application is designed to be deployed on a multi-zone AWS environment. The application uses perhaps every technology provided by AWS as well as few custom tools sprinkled by the Migrate2Cloud.com team.
DevOps and Release Management
Ruby scripts, Ansible, Git and some bash scripts + self hosted Phabricator.
Quality assurance:
Mostly manual testing, with a small part of the system automated with Selenium. API testing is getting automated with Postman and make shift scripts performing weekly runs. Tracking of PM and code reviews are done in Phabricator. Attempts for CI is left half way through. Nessus and OWASP ZAP is used for security audits and Jmeter for performance testing.
Compliance and Deployment details
Highly Available Geo-redundant PCI-DSS certified deployment.
API documentation is done using Swagger http://doc.vbarterapi.com/
Mobile Applications
We have numerous mobile applications linked to us making financial transactions. This is achieved by exposing our scalable API. The mobile apps are developed in native as well as HTML5 based technology for iOS and Android. Many applications are available in the app stores and few others are distributed privately.