Video de démonstration: Video
Lien du code : Code du projet
Lien vers un autre article: Jewelry by pc
My receipt Book permet aux utilisateurs de découvrir, consulter et ajouter facilement des recettes de cuisine dans une interface moderne et fluide. L’utilisateur peut naviguer entre différentes catégories (entrées, plats, desserts), rechercher une recette en temps réel et accéder à une fiche détaillée contenant les ingrédients, le mode de préparation, ainsi que des informations pratiques comme le temps de cuisson et le nombre de portions. L’ajout de nouvelles recettes est simplifié grâce à un formulaire interactif avec aperçu d’image, rendant l’expérience conviviale et accessible à tous. L’interface tactile avec navigation par balayage (swipe) renforce l’immersion, particulièrement sur mobile, et améliore l’expérience utilisateur globale.
L’application repose sur une architecture JavaScript modulaire de type MVC léger, où les responsabilités sont clairement séparées entre la logique applicative (Application), l’accès aux données (RecetteFirebaseDAO) et les différentes vues (VueAccueil, VueListeRecettes, VueRecette, VueAjouterRecette). Ce découplage favorise la maintenabilité du code en limitant les dépendances et en facilitant les évolutions futures. La navigation est gérée via le système de hash (window.location.hash), ce qui permet une adressabilité simple et efficace sans nécessiter de backend complexe, tout en restant compatible avec des environnements web variés (interopérabilité web). L’utilisation de Firestore et de méthodes asynchrones (async/await, Promise) assure une gestion fluide des données et permet des mises à jour dynamiques sans rechargement de page (optimisation et expérience utilisateur). Le choix du format JSON pour les données garantit une rétrocompatibilité et une extensibilité des échanges. Enfin, l’intégration de fonctionnalités comme le swipe, la gestion d’événements (deviceready, hashchange) et l’upload d’image en base64 démontre une approche orientée progressive enhancement, permettant à l’application de fonctionner sur différents supports tout en enrichissant l’expérience sur les appareils compatibles.



Laisser un commentaire