Giter Club home page Giter Club logo

maprochainerecette's People

Contributors

dependabot[bot] avatar mkrtchian avatar paoli-a avatar paoliau avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

mkrtchian

maprochainerecette's Issues

Add end to end tests for all main funcitonnalities

Currently only ingredient catalog has end to end tests, other pages need also these tests.
We need to find a way to create initially some dataset in the database in the case that data cannot be created via the REST API.

Bug with adding fridge ingredients

When we go to my next recipe and add a fridge ingredient, then go to another tab, and finally return to my next recipe, the new fridge ingredient no longer appears unless we reload the page.

Display feasible recipes

This is the main functionality of the app : displaying all the feasible recipes taking into account the ingredients of the fridge and the existing recipes of the catalog.

The feasible recipes should be ordered according to the expiration date of the ingredients used, and the one having the nearest expiration date of each recipe should be highlighted.

[RecettesAffichage] Améliorer la recherche

Actuellement la recherche prend en compte n'importe quel mot de plus de trois caractères, pour l'améliorer on pourrait :

  • accepter les mots de 2 caractères ou plus
  • éliminer la ponctuation
  • éliminer les mots non significatifs (stopwords)

[IngrédientsCatalogue][RecettesCatalogue] Barre de recherche filtrante

Créer une barre de recherche dans chacun des composants de catalogue, pour filtrer les éléments présents au fur et à mesure que l'utilisateur y tappe des lettres.

  • pour IngrédientsCatalogue les ingrédients dont le nom ne commence pas par les lettres tapées seront masqués
  • pour RecettesCatalogue les recettes dont le titre ne commence pas par les lettres tapées seront masqués

Diviser l'application sur plusieurs pages

Actuellement tout est sur une unique page.
Il faudrait 4 pages :

  • une page pour le catalogue d'ingrédients
  • une pour le catalogue de recettes
  • une pour les ingrédients présents dans le frigo
  • et une pour l'affichage des recettes possibles

Les deux dernières pourraient éventuellement etre combinées.

A priori React rooter serait la librairie la plus appropriée.

Documentation

Il peut être intéressant d'ajotuer de la documentation.

docz a l'air d'être une solution intéressante. Très peu de configuration, une documentation facile à faire et jolie.

La documentation se fait pour l'essentiel dans un fichier texte mdx à côté de chaque composant, sauf les props qui sont documentées dans le code directement au niveau des PropTypes avec la syntaxe JSDoc :

/**
*
*/

cf. une page qui va un peu plus en détail.

Reorganize frontend code

Currently the react code has a flat directory structure, as there are more than 40 files in src we should probably add some directories to group some of them.

Bug with adding recipes

When we go to catalog recipes and add a recipe, then go to my next recipes, and finally return to catalog recipes, the new recipe no longer appears unless we reload the page.

Add end-to-end tests

The projects has unit tests for frontend and backend components, and to some extent what we could call integration tests inside frontend and inside backend, testing several components together. But there is no tests involving both frontend and backend.
We should use a tool like cypress or selenium that uses a real browser, and write functional tests for the whole application.

[RecettesAffichage] Catégories dynamiques

Pour le filtre par catégories, afficher dynamiquement les catégories en fonction de celles qui sont présentes dans les recettes possibles.

Indiquer également le nombre de recettes correspondant à telle ou telle catégorie.

Linter le code

Le style de code commence à devenir un peu désordonné...

Il pourrait intéressant d'ajouter prettier en plus d'eslint qui est déjà installé et configuré avec create react app. prettier permet d'uniformiser le style de code là où eslint est surtout sur le fait d'éviter les erreurs et bugs.

  • Sur le site de create react app, ils conseille d'installer prettier comme hook git avec husky et lint-staged pour formatter le code au commit.
  • Sur le site de prettier, ils conseillent d'installer eslint-config-prettier et eslint-plugin-prettier pour intégrer prettier comme extension d'eslint et rendre visibles ses indications dans les éditeurs.

Catalogue des recettes

Doit afficher toutes les recettes et donner la possibilité d'en ajouter une. Les ingrédients doivent coïncider avec ceux du catalogue ingrédients.

Prop-types

Les PropTypes semblent être une pratique commune et super utile pour vérifier que le code comporte peu de bugs, et aller vers une documentation des props de composants.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.