The business challenge

The beneficiary of our services wanted a tool to manage all aspects of a prepaid card for business expenses, thus enabling companies to manage corporate expenses more efficiently.
The tool is aimed at businesses that want their employees to pay for corporate expenses in an easy way and at the same time to have a detailed view and control over costs.
Our solution
We have delivered a product with multiple user interfaces via both web and mobile. All serviced are supported by a single set of RESTful web services. The system delivered high availability, zero downtime during maintenance and releases, and PCI DSS compliance.
The features included:
- Issuing prepaid cards
- Tracking and reporting on transactions
- Managing expense limits
- Monitoring/approval by the accounting departments
- Fully PCI compliant storage of all credit card information
- Manage the transactions, the balances, accept/decline authorizations
- Payments and virtual-cards

Team setup
We embrace Agile methodologies in most of our projects. Many times it is our customers and partners who ask us to use Agile methodologies (Scrum, Kanban) from the inception of the project. When the choice is left to our engineers, we carefully analyze the project specifics, and we propose a project management methodology based on Scrum or Kanban which best fits the specific project needs and context.
The development team consisted of 6 developers based in our headquarters: 3 backend developers, 1 frontend developer, 2 QA. We worked closely with the Client Service Team and the Infrastructure Team including project managers, sales, marketing and design specialists.
As in all of our projects, we worked in an agile and flexible way. We had daily scrum meetings with sprints and demo release every two weeks.
Architecture & Technologies
Architecture
- Client-server architecture
- Multiple clients
- Frontend (browser SPA written in Angular)
- iOS mobile app
- Android mobile app
- The backend is the server (provides REST services written in Java7 using vert.x framework)
- The backoffice is completely isolated (separate frontend, separate backend, on a special VPN)
- SaaS Solution – multiple organizations in the same application cluster
Technologies
- Frontend: Angular, Grunt, Bootstrap
- Backend: Java 7, vert.x platform, Google Guice, Apache Jackrabbit JCR, Pentaho reporting engine, myBatis, PostgreSQL 9, jUnit, Mockito, Liquibase, JAX-WS, Camunda BPMN, Apple APNS, Google GCM, Maven, git
- Developer tools: Jira, Jenkins, Github, Apiary
- Devops related: Ansible
- Certifications: PCI DSS