Skip to content

Review SUMOT #2

Description

@antoinerougier

Revue de Code

Contexte

SUMOT est un projet qui s'inspire du jeu motus, dans lequel nous devons deviner un mot grâce à la première lettre. Il est possible de jouer seul ou face à une IA. De plus, le projet intègre le mot du jour en regardant les tendances sur X. Le projet intègre aussi un dashboard analytique, et un déploiement automatisé via Docker, GitHub Actions et ArgoCD.

Pour la mise à disposition les données sont soit stockées sur les SSPCloud ou directement disponible sur le github.

Reproductibilité

  • Instructions : Le README est clair, et étant donné que le projet est bien organisé, toutes les commandes sont faciles à exécuter.
  • Tests effectués : j'ai pu lancer tous les codes sans problème. Il est possible de déployer le projet localement ou avec l’aide de docker.
  • Modification : J’ai seulement dû rajouter une librairie tzdata qui manquait dans le requirements pour le bon fonctionnement de l’application.

Bonnes pratiques

  • Respect des conventions de codes : utilisation de linter automatisée
  • Documentation claire et complète : le Readme est précis
  • Requirements et License : présent
  • Modularité : on a bien un script principal qui appelle d'autres modules
  • Test : cela permet de bien vérifier si cela fonctionne correctement

Pistes d'amélioration

  1. Ne pas réécrire à chaque fois la même fonction par exemple "get_path" qui est présent dans tous les scripts python.

  2. Mettre les données à disposition directement sur les SSPCloud. D'après ce que j'ai compris, les données sont déjà dessus mais dans un dossier privé mais elles sont aussi sur le github si on n'a pas accès au dossier en question. On pourrait donc mettre se dossier en public.

  3. Supprimer le notebook test qui est vide dans le dossier app

Conclusion

Pour conclure, ce projet est déjà très abouti et bien structuré. Les pistes d'amélioration visent à renforcer les bonnes pratiques de la gestion des données et du code.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions