web-dev-qa-db-fra.com

Meilleur moyen d'implémenter la validation des données par l'utilisateur

Je lance un moteur de recommandation de produit et je me heurte à quelques difficultés. Je cherche à savoir si quelqu'un a des recommandations sur ce que je devrais faire pour minimiser ces problèmes.

Voici comment fonctionne le site:

Les utilisateurs visitent le site et reçoivent des recommandations de produits basées sur certains critères. Si un utilisateur sait qu'un produit ne se trouve pas dans notre système, il peut l'ajouter en fournissant le nom du produit et son fabricant. Nous prenons cette information et:

  1. Appuyez sur une API pour collecter toutes les métadonnées du produit (et pour valider l'orthographe du produit, etc.). Si le produit ne figure pas dans cette première API, nous ne le permettons pas dans notre système.
  2. Utilisez les informations de l'étape 1 pour utiliser une autre API pour obtenir des informations sur les prix (rassemblées depuis de nombreux endroits en ligne).

Par souci de discussion, supposons que je recherche les deux API de la manière la plus efficace/réussie possible.

Pour la plupart, cela fonctionne très bien. Je dirais qu'environ 80% de nos données sont parfaitement exactes, mais il y a quelques problèmes:

  1. Parfois, l’API de tarification (étape 2) ne contient aucune information sur le produit. La manière dont l'API de tarification est construite renverra toujours quelque chose (théoriquement, la correspondance la plus proche possible), et rien ne garantit que le nom du produit est orthographié exactement de la même manière dans les deux API. manière automatisée de savoir si c'est le bon produit.
  2. Lorsque l’API de tarification trouve le bon produit, elle dispose parfois de données de tarification obsolètes, voire invalides (par exemple, si elle filtre le mauvais prix d’un site Web).

Comme le site était assez petit au début, j'ai pu vérifier manuellement chaque produit ajouté au site. Cependant, le site a pris de l'ampleur au point de prendre plusieurs heures par jour et ne constitue pas une utilisation efficace de mon temps.

Donc, ma question est:

Mis à part embaucher quelqu'un (ou faire appel à un stagiaire) pour valider toutes les données manuellement, quel serait le meilleur système pour laisser ma base utilisateur gérer elle-même les données. Plus précisément, comment puis-je permettre aux utilisateurs de modifier les données tout en minimisant les risques de coupure par une personne contre mon site Web ou par erreur lors de la définition incorrecte des données?.

2
venables

Faites-en un jeu où les gens obtiennent des points pour la correction des données (vérification que le produit API de tarification est identique, qu'il n'est pas invalide, etc.)

Les personnes ayant des points faibles ne sont pas récompensées tant qu'un certain nombre d'autres utilisateurs n'ont pas corrigé les données de la même manière. Au fur et à mesure que les gens obtiennent plus de points, il leur faut moins de personnes pour les vérifier, jusqu'à ce que les personnes ayant des points très élevés n'aient plus besoin de vérifier. C'est donc un peu la réputation sur ce site et sur les autres sites stackexchange.

Vous pouvez récompenser ceux qui obtiennent des points avec des avantages concrets, tels que des réductions sur les produits, des notifications préalables de bonnes affaires, etc. Vous ne voulez pas en faire trop, ou ça vaut le coup de jouer avec le système et de gagner beaucoup d'argent.

2
paulmorriss