Calcul des partage et droits de successions
Le projet
La plupart des développeurs ont ce side project qu'ils se balladent, de techno en techno.
Une BD que j'adore, Commit Strip, illustre très bien cette théorie

Cette planche, c'est un peu l'histoire de mon application Robo Advisor.
À chaque fois que j'accompli 80% du travail, je passe à autre chose puis un beau jour, je décide de m'y remettre mais avec la nouvelle techno que je connais.
Sa toute première version date de 2008. Une version qui permettait de calculer des impôts. Ça me servait dans mon métier à l'époque. Je l'avais codé en php/mysql, plutôt salement, mais j'en étais fier (tant que je ne montrais à personne le code).
La seconde version était encore en php. Mais cette fois via un MVC avec un petit router que j'avais créé en m'inspirant d'un existant. J'avais même ajouté du javascript pour créer des formulaires dynamiques.
Sa version suivante (la version actuelle qui date de 2018) est la plus aboutie (mais pas terminée non plus !) :
- Un frontend en React
- Un backend en Symfony
Actuellement il n'y a pas de version en ligne (il manque les fameux 20% pour que ce soit déployable) mais une vidéo présente l'application ici :
Démo de Robo Advisor
Le challenge technique
Je me suis bien amusé (et pris la tête) à réaliser en css l'arbre généalogique qui se met à jour automatiquement lorsque l'on ajoute un membre familial (voir la démo pour comprendre de quoi je parle)
Aussi, les calculs de successions sont complexes. Ce fût compliqué d'écrire du code simple et facilement maintenable. En revoyant mes classes, je me dis que je ferais complètement autrement aujourd'hui, en appliquant davantage les principes SOLID pour le back et en utilisant les Hooks pour le front : Une version 4 à venir ?
Source du projet sur github : Backend
Source du projet sur github : Frontend