Étude de cas Laravel

Client: Rabbit Finance

Adresse: https://rabbitfinance.com/en

Rabbit Finance est l'un des principaux marchés d'assurance en Thaïlande. Vous pouvez souscrire une assurance automobile, une assurance maladie et de nombreux autres produits financiers sur leur site. Le site dispose d'un processus simplifié conçu pour maximiser les prospects. Il n'y a pas de registre ou de connexion requis, ce qui constitue un obstacle à la conversion qu'ils recherchent.

Rabbit Finance

Après avoir cliqué sur le bouton «Obtenir un devis gratuit maintenant», les utilisateurs accèdent à une série de listes déroulantes pour donner à l'agent de vente les détails de l'assurance dont ils auront besoin:

Rabbit Finance

C'est la deuxième fois que Winterwind intègre le tristement célèbre "livre rouge" pour les véhicules, qui contient des informations complètes sur toutes les marques de voitures, les modèles et les options de personnalisation disponibles pour eux. L'autre fois, c'était pour les housses de siège NW, voir cette étude de cas Magento ici.

Architecture découplée utilisant Lumen

Anthony a été invité à concevoir une nouvelle architecture pour la plate-forme. La première chose à noter à propos de Rabbit est qu'ils ont plus de produits que Rabbit Finance. Certains de leurs autres sites Web, tels que Rabbit Rewards, doivent également accéder aux mêmes données que Rabbit Finance. Il y a aussi Rabbit Daily, un site d'information.

Nous avons donc créé une base de données centrale Rabbit dans MySQL, en utilisant RDS d'Amazon, qui contient les données nécessaires à toutes les applications Rabbit. Il s'agit notamment de la base d'utilisateurs, des informations sur le véhicule, des informations génériques sur l'entreprise et plus encore. Nous avons ensuite enveloppé cela dans une API utilisant Laravel Lumen, connue simplement sous le nom d'API Rabbit. L'API Rabbit se connecte à la base de données principale Rabbit et fournit des données générales à tous les produits Rabbit actuels et futurs.

Nous avons ensuite créé des bases de données spécifiques au produit avec des données qui ne concernent que ce produit. Par exemple, nous avons créé une base de données Rabbit Finance avec des données du RedBook, des taux d'assurance, des informations sur les prix d'assurance, etc. Cette base de données a ensuite été enveloppée dans une API connue sous le nom d'API Rabbit Finance. C'est la bonne façon de procéder. Vous pouvez mettre toutes les données dans une seule base de données, mais cela est inefficace et pour plusieurs raisons. Si toutes les applications se connectaient à une base de données principale, cela donnerait à cette instance plus de connexions que nécessaire, ce qui ralentirait l'instance de base de données. De même, s'il n'y avait qu'une seule API maître, le serveur serait inondé de trop de requêtes. Même avec un équilibreur de charge répartissant les demandes sur plusieurs serveurs, elles se connecteraient toutes à la même base de données principale, la surchargeant.

TLa solution est d'avoir une architecture à plusieurs niveaux, ce que Winterwind a mis en œuvre pour cette entreprise. Lorsque les applications nécessitent des données Rabbit génériques, elles se connectent à la base de données principale, lorsqu'elles nécessitent des données spécifiques à l'application, elles se connectent à l'API appropriée, qui à son tour se connecte à sa propre base de données.

Le site Web de Rabbit Finance a été codé en Laravel et les API ont été réalisées dans Lumen, qui est une version légère du framework Laravel conçue pour être utilisée pour les API.