Skip to content

OC - P7 - Les Petits Plats - Site de recettes de cuisine

Notifications You must be signed in to change notification settings

Yann-GitHub/OC-LesPetitsPlats

Repository files navigation

Les Petits Plats - Site web de recettes de cuisine

OpenClassrooms - "Développeur d'application - JavaScript React".
Développez un algorithme de recherche en JavaScript.

Website Mockup

Objectifs

Après avoir édité des livres de cuisine pendant plusieurs années, l’entreprise 'Les Petits Plats' a décidé de se lancer dans un nouveau projet : réaliser son propre site de recettes de cuisine à l’instar de Marmiton ou 750g. L’équipe a déterminé que l’un des éléments pouvant faire la différence avec la concurrence était la fluidité du moteur de recherche. Il faudra donc porter une attention particulière sur les performances de ce dernier, pour obtenir une recherche rapide voire instantanée ! Le moteur de recherche permettra de filtrer les recettes en saisissant un ou plusieurs mots dans l'input de recherche, et/ou en sélectionnant des tags (ingrédients, appareils et ustensiles).

Livrables

Prototype

Documents et synthèse

  • Réaliser 2 implémentations de l'algorithme de recherche sur 2 branches Git distinctes afin de les analyser. Ces deux implémentations doivent se focaliser uniquement sur le champ de recherche principal.
  • Réaliser un Flowchart/Algorigramme afin de décrire l'enchaînement des étapes de l'algorithme Doc.
  • Tester et analyser les performances des 2 algorithmes de recherche via l'outil Jsbench.ch et déterminer le plus efficace.
  • Réaliser une fiche d’investigation de fonctionnalité qui regroupera le Flowchart, les éléments de benchmarking et une synthèse exposant le choix d'un algorithme en fonction de ces performances Doc.

Contraintes Techniques

  • Vanilla JavaScript
  • Approche Desktop First
  • Principe de 'Separation of Concerns'
  • Pas de librairie additionnelle
  • Utilisation du framework CSS Bootstrap (optionnel)

Compétences évaluées

  • La programmation orientée objet en JavaScript (schéma de classes)
  • Les bases de l'algorithmique
  • Elaboration d'un Flowchart/algorigramme (draw.io)
  • Utilisation d'outils de benchmark de performance JS (Jsben.ch)
  • Comparer deux approches algorithmiques et réaliser un document de synthèse.
  • Gestion dynamique de données
  • Les différentes méthodes de l'objet ARRAY (filter(), map(), reduce()...)
  • Git branching

About

OC - P7 - Les Petits Plats - Site de recettes de cuisine

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published