Projet de développement d'une application web permettant aux utilisateurs de retrouver, créer et partager des recettes de cocktails à réaliser chez eux.
Voir le siteLa levée de coude est une application web développée dans le cadre de ma dernière année d'études. L'objectif était de permettre aux utilisateurs de retrouver, créer et partager des recettes de cocktails à réaliser chez eux. J'ai travaillé en équipe sur ce projet en tant que développeur front-end et j'ai également réalisé les maquettes, le design system et le logo.
La Levée de Coude était un projet que j'ai réalisé en équipe avec trois autres personnes. C'était un projet intéressant car nous avons dû utiliser des technologies et une méthodologie avec lesquelles nous n'étions pas très à l'aise. Nous avons également relevé un défi technique en ne déployant l'application qu'à la fin du projet, ce qui n'est pas habituel dans notre processus habituel.
L'objectif de l'application était de permettre aux utilisateurs de découvrir, de créer et de partager des recettes de cocktails à réaliser chez soi. Nous avons utilisé Django, un framework web en Python, pour développer l'application. Nous avons travaillé en utilisant la méthode Agile, et avons utilisé Jira pour la planification des sprints et la gestion des tickets. Nous avons également mis en place un système de gestion de planning pour respecter les délais impartis.
En termes de fonctionnalités, l'application offrait aux utilisateurs la possibilité de se connecter, de s'inscrire et de se déconnecter. Ils pouvaient voir la liste des recettes, voir le détail d'une recette, voir une recette aléatoire, filtrer la liste des recettes, effectuer une recherche, ajouter une recette s'ils étaient connectés et ajouter une recette à leurs favoris s'ils étaient connectés.
Nous avons utilisé une API externe pour récupérer les cocktails, mais aussi une base de données PostgreSQL pour les attributs personnalisés. Nous avons dû créer un cron pour récupérer les données de l'API et remplir notre base de données avec celles-ci.
Nous nous attendions donc à avoir beaucoup de données dans notre base de données PostgreSQL, c'est pour cela que nous avons choisi cette technologie car PostgreSQL dispose d'un planificateur et d'un optimiseur de requête. De plus, PostgreSQL est fiable et l'intégrité des données est assurée. Rappelons tout de même que pour qu'une optimisation soit réussie il ne sert à rien d'améliorer la configuration du serveur PostgreSQL ou les requêtes si, physiquement, le serveur ne peut tenir la charge que cela soit à cause des processeurs de la mémoire du disque ou du réseau.
Nous avons donc retenu Heroku comme solution de déploiement. Cette plateforme exécute l'application dans des conteneurs intelligents et fiables appelés dynos. De plus il l'offre une haute disponibilité et un basculement automatique avec son service de base de données hébergé verticalement évolutif ce qui nous permet d’étendre l’application à l'aide de modules de modules complémentaires si on le souhaite. De ce fait l'alliance PostgreSQL et Heroku privilégie une performance optimale et permet une évolutivité de la solution.
Dans le cadre de ce projet, j'ai acquis des compétences en développement web, en méthodologie Agile et en travail d'équipe. J'ai également développé mes compétences en design en réalisant les maquettes, le design system et le logo de l'application.
Malheureusement, l'application n'est plus disponible en ligne. Nous l'avions hébergée sur la plateforme Heroku, qui a récemment modifié sa politique de tarification, rendant l'hébergement payant pour les projets nécessitant un certain nombre de ressources. Par conséquent, l'équipe de développement n'a pas souhaité continuer à supporter les coûts d'hébergement et a pris la décision de retirer l'application de la plateforme. Cependant, le code source de l'application est disponible sur Github et peut être consulté librement.
La Levée de Coude était un bel exemple de résilience dans un environnement où nous n'étions pas à l'aise avec les technologies et la méthodologie utilisées, mais où nous avons tout de même réussi à réaliser un projet fonctionnel et intéressant.