Create system for automated bills generation for clients and then charge clients debit cards automatically.
The main task was to create client using system for leads aggregation and sell to his customers. In process of working customer’s team should generate invoices via Xero and charge payments manually via SecureTrading.
The project was unstable (especially what concerned code) when we joined it. First, we integrated a version control system (Git) and continuous integration, moved all dependencies to the Composer (dependencies manager) and made massive refactoring of current codebase. It allowed us to get a stable codebase and move to the second step of the project.
At this stage we created several independent services for communication with SecureTrading API and Xero API.
For communication between services and front-end we integrated RabbitMQ queue manager, which helped us move all heavy tasks to the background (email sending, reports generation, etc.). This extremely improved the speed of the user interface. The project was hosted on Bitbucket and we used Git for source control.
We made stable quality project codebase and ensured the automation of the following operations:
– invoice creation through Xero service
– carrying out payments through Secure Trading
– invoice distribution
– sending charge notifications to customers who have not made payment yet.
The product has strong integration with API of services such as Xero, SecureTrading as well as integration with various sources of leads (WordPress sites, registration forms, etc).