The first version of the product was built on the Zend PHP framework, released 19 years ago.
We decided to migrate the product to the modern Laravel framework. Laravel enables fast and convenient development of admin panels and user interfaces, and its code is easy to read at a glance. To boost performance, we leveraged Laravel’s built‑in high‑speed storage systems — Redis, Memcached, and APC. These key‑value, in‑memory data stores significantly increased request‑processing speed. Additional large‑scale object caching reduced interface load times and lowered server load.
Our PHP developer worked full‑time and communicated directly with the client’s representative, handling tasks and implementing revisions. This ensured deep involvement in the workflow, strengthened the client’s project team, and enabled rapid resolution of emerging issues.
The developer fully rewrote and optimized the outdated code. Since the migration was done onto a clean framework, several pages required complete functional redesign and UI improvements. The process of receiving and processing data from taxi services was optimized. These data are used to calculate payments with commissions. The integrated ‘Tarifficator’ module transfers the final trip cost to the driver’s internal account and the commission to the service’s account. Drivers can withdraw funds to a bank card, a QIWI wallet, or use them to pay for fuel.
Our developer also strengthened the service’s protection against malicious requests. Using Eloquent ORM prevents potentially dangerous operations by validating parameters. Additional sanitization of restricted HTML tags eliminates the risk of script injection.
In addition, we implemented the full cycle for processing withdrawal requests. A driver submits a withdrawal request through the Cordova app. The request is sent to the mobile server, which records it in the database. Then Laravel takes over. If auto‑withdrawal is enabled, the request is immediately forwarded to the payment microservice. If auto‑withdrawal is disabled, the request is first reviewed by a manager and, once approved, proceeds to payment.