Linxo : une application de gestion de budget et finances
Initiallement, Linxo est connue pour son application mobile de gestion de budget directement disponible via notre téléphone. Elle permet de connecter ses comptes bancaires et de catégoriser automatiquement les opérations pour mieux maîtriser ses dépenses.
Linxo fait désormais partie du groupe Crédit Agricole.
Ma mission chez Linxo : Linxo Connect
Pour connecter ses comptes bancaires, il faut une solution qui permet à l’utilisateur de connecter n’importe quelle banque. En effet, les données seront ensuite utilisées par l’application mobile pour catégoriser les opérations ainsi que d’autres fonctionnalités utiles.
Linxo Connect est utilisée en interne mais est aussi proposée en service à d’autres entreprises telles que Meilleur Taux ou encore HSBC. Linxo Connect permet également de réaliser des paiements. Il y a donc deux services distincts : Linxo Connect Payments et Linxo Connect Accounts sur laquelle j’ai travaillé.
Linxo Connect Account est donc une widget paramétrable, customisable et intégrable dans n’importe quelle application.
Développement frontend
Durant les premiers jours, j’ai principalement résolu des tickets de bugs afin de me familiariser avec le projet et le code. En effet, il y avait un peu de dette technique.
Des nouvelles fonctionnalités étaient à implémenter dès le début de ma mission. Je suis rapidement passé sur des tickets plus costauds tels que l’archivage des comptes. Pour ça, il fallait utiliser des nouveaux chemins API internes via le backend en Express Node.js… tout en écrivant les tests unitaires et les tests d’intégrations.
Refactorisation
Le code React avait encore certains composants sous forme de classe. Pendant la réalisation des nouvelles features et la résolution de bugs, on en profitait pour refactoriser et ranger les fichiers de manière ordonée et claire.
Tests d’intégration
Les plus gros enjeux sur une application utilisée par d’autres entreprises sont d’avoir le code le plus stable possible. Il faut donc éviter un maximum les régressions. C’est pour cette raison que nous avons mis en place des tests d’intégrations durant ma mission.
L’application ne contient qu’une dizaine de pages mais elles peuvent apparaître dans un ordre différent. Pour éviter de réécrire du code j’ai donc créé une machine à état en fonction des paramètres pour lancer les différents tests de chaque écran. Les tests d’intégrations que j’ai écrits durant cette mission couvrent environ 70% des cas de figure.
C’était pour moi un vrai défi car je ne voulais pas quitter la mission sans terminer le plus gros flow de tests. J’ai donc pu laisser une belle documentation à mes collègues et je suis fier de mon travail effectué.