NeekoApp
1. Intro
Section titled “1. Intro”Neeko est une application de mise en relation pour la restauration. L’accent est ici mis sur l’instantanéité, à cet effet c’est le travailleur (néo) qui choisit ses missions sur la base de compétences recherchées par le restaurateur. Ce fonctionnement implique donc l’usage de websockets quasi partout dans l’application, d’un caching sur tous les éléments centraux (matching, tension), et d’une recherche de latence minimale.
2. Stack technique
Section titled “2. Stack technique”2.1 Mobile
Section titled “2.1 Mobile”Le mobile tourne sur Flutter, pour des raisons évidentes de performance sans compromis sur la rapidité de déploiement. La scalabilité du produit est assurée par l’ensemble Cubit, et une organisation features first.
2.2 Webadmin
Section titled “2.2 Webadmin”Le webadmin est une part essentielle de la gestion du produit. Beaucoup de fonctionnalités de l’app peuvent y être ajustées et beaucoup d’informations y transitent, c’est un élément important à ne pas négliger. Il tourne sous React/Vite.js et lui aussi respecte les principes de clean archi / features first via la lib zustand.
2.3 Back-end
Section titled “2.3 Back-end”Le back est le cœur de l’application, c’est une api-rest Laravel. Cette technologie bien qu’à contre-courant de la mode du Node.js est un choix évident : elle permet un déploiement structuré, une norme commune, une maturité et un suivi long terme des libs, et un développement rapide.
2.4 Data & Cache
Section titled “2.4 Data & Cache”Choix hérité du développeur précédent, l’application fonctionne sur MySQL. Le SQL en lui-même est un très bon choix, tout à fait à propos avec Laravel et le besoin de stabilité / structure long terme de l’application.
Cependant SQL est lent : l’application faisant du calcul de tension sur tout le territoire et du matching répété en temps réel, il est nécessaire de cacher une partie des données via Redis, une base de données NoSQL en RAM.