After the discovery phase, the MVP development of MoneyPageApp was the next stage of our cooperation with our Canadian-based client.
With the growth of our customer’s company, launching ad campaigns for their clients began to take a lot of time. It was necessary to automate this process as much as possible.
The client wanted to achieve the following results:
- Reducing the number of people involved in launching campaigns and, as a result, cut wage costs.
- Speeding up the launch of advertising campaigns and their monitoring and, as a result, save operating time.
- Automating the campaign restarting process.
The main functionality of the application was so-called smart campaigns that allowed you to perform all the necessary actions to launch an advertising campaign automatically. If such a smart campaign was not configured correctly, then the owner would receive a notification and then he could either make changes or proceed manually. Since the campaign setup consisted of a large number of parameters, it was proposed to divide the campaign creation into steps and group the parameters according to their purpose.
Our specialists had to take into account the smooth operation of the entire system since possible downtime entailed big losses for the company. So we decided to develop a separate service that allowed us to get a prompt notification about the system malfunction of a running campaign. Beside it, this service was analyzing the work of ad campaigns non stop, checking everything was going as it was configured.
While working on a project, the developers faced a performance problem to download and edit files on a large number of remote servers at the same time. Since the number of campaigns was measured in hundreds, it was necessary to ensure a smooth file transfer process as well as their verification. This was done by a separate service written in Golang.
Communication between services took place at the API level and using the RabbitMQ queue broker.
The main functionality of the system was following:
- Integrations with various systems Digital Ocean, AWS, CloudFlare, CloudFront Vultr;
- Smart campaign management;
- Notifications and alerts system;
- System user management;
- Logging user actions in the system.
On the technical side:
– SaaS platform in the form of SPA (single page application);
– Popular Framework Vue.js for Front-end part;
– Most Popular Framework Laravel for back-end part;
– Redis docker for speeding up work with big data amount collected in real time;
– Manage queues RabbitMQ
– Various testing methods: PHPUnit, Integration Testing, Functional Testing, Load Testing.
Laravel, Vue, Golang, MySQL, Redis, RabbitMQ
1 Senior Back-end
1 Middle Back-end
1 Middle Front-end
1 UX/UI Designer
1 Team Lead
1 Business Analyst