Collaboration Implémentation Outils - dudleydehenau/ScapeGame GitHub Wiki

Résumé coaching 6.b

ORGANISATION DU GROUPE [A COMPLETER CI-DESSOUS]
+ Le groupe présente sur le wiki la manière dont le groupe s'organise : planification des échanges et rencontres, déroulement et timing des réunions et séances de travail, outils de communication utilisés, …
+ Le groupe applique au quotidien l'organisation décrite dans le wiki
+ L'ambiance est bonne dans le groupe et chacun a l'occasion de s'exprimer et de s'investir.

WIKI ET COACHING [A VERIFIER]
+ Le wiki est correctement complété au fur et à mesure
+ Les coachings sont bien préparés à l'avance, pour rapidement présenter les points prioritaires du jour et poser les bonnes questions
+ Le fichier de suivi est bien complété par tous les membres du groupe avant chaque coaching
+ La bibliographie est bien présentée, présente des liens intéressants et montre que les étudiants se sont bien documentés. 
+ Les ressources sont directement référencées dans le texte lorsque cela fait sens. 
+ Le groupe n'attend pas : s'il a des questions techniques, il les pose d'abord directement sur le chat.

GIT [A VERIFIER]
+ Le groupe applique concrètement le workflow git prévu

GESTIONNAIRE DE TACHES [A COMPLETER CI-DESSOUS ET VERIFIER]
+ Les colonnes du gestionnaire de tâches sont appropriées (Backlog, todo, doing, to review, Done...)
+ Les tâches dans le gestionnaire sont appropriées et dans le bon état
+ Chacun s'assigne lui-même ses tâches et les place dans les bonnes colonnes.
+ Tout travail réalisé par un étudiant se trouve bien en tant que tâche dans le gestionnaire.
+ On peut facilement faire la différence entre les US et les tâches techniques ou autres.

TEMPS [A VERIFIER]
+ Pour ce projet il est possible de savoir combien de temps a été passé sur quelles parties du projet (backend, DB, API, frontend, test, analyse, + + + réunion, formation, rédaction, ...)
+ Il est possible de savoir combien de temps chaque membre a travaillé sur le projet.

OUTILS communication, développement, partage et autres [A COMPLETER CI-DESSOUS]
+ Le groupe présente les outils qu'il utilise pour communiquer, partager des fichiers, assurer les réunions, etc…
+ Le groupe présente les outils qu'il utilise pour développer
+ Le groupe présente éventuellement d'autres outils utilisés et présente leur utilisation

QUALITE DU CODE [A COMPLETER CI-DESSOUS]
+ Un linter est connu, utilisé et maitrisé
+ Une convention de codage a été définie et documentée sur le wiki
+ Le code respecte la convention de codage, le style est uniforme
+ Le code respecte les bonnes pratiques de programmation (nommage des variables, limitation du niveau d'imbrication, etc.)
+ Le code est adéquatement documenté, éventuellement selon la programmation par contrat (pré/post conditions)
+ Le code est lisible et facilement compréhensible par un développeur non impliqué dans le projet
+ Le groupe a mis en place des reviews de code systématiques et peut le démontrer

1. Organisation du groupe

Une fois par semaine, on avait une réunion durant laquelle on regardait tous ensemble les avancements dans le projet. Durant cette réunion, on décidait également des choses qui doivent être faites pour la semaine suivante et qui s'occupe de quelle partie.

2. Ambiance dans le groupe

Dans l'ensemble, tout s'est bien passé même si on a eu quelques problèmes. On a réussi à atteindre les objectifs qu'on s'était fixés pour ce projet.

Dans les problèmes rencontrés, il y a surtout eu quelques difficultés dans la communication entre nous et tous les membres du groupe n'ont pas contribué au projet de la même manière. On n'avait pas une très bonne organisation dans le groupe mais cela a surtout été dû aux problèmes de communication entre nous.

On n'a pas vraiment réussi à trouver une solution à nos problèmes, mais on a remarqué que vers la fin du projet, tous les membres du groupe étaient plus investis dans le projet.

3. Outils utilisés

3.1 Gestionnaire de tâches

On a surtout utilisé GitHub pour lister toutes les tâches à effectuer et pour nous répartir le travail à faire. Chaque semaine, on ajoutait de nouvelles tâches à faire et on se les répartissait entre nous.

3.2 Gestionnaire de temps

Au début du projet, on avait décidé d'utiliser Clockify pour pouvoir mieux estimer le temps mis pour effectuer une tâche. Mais dès la troisième semaine, on a abandonné de l'utiliser.

3.3 Outils de communication et de partage

Nous avons surtout communiqué via Discord et lors des réunions prévues dans le cadre du cours de dev.

3.4 Outils de développement

[IDE, extensions, test, etc...]

  • Visual Studio Code

3.5 Autres outils

[Quels autres outils ont été utilisés? Pourquoi?]

4. Qualité du code

Conventions de Codage

1. Style et Cohérence :

  • Nous suivons des conventions de codage standard pour JavaScript et TypeScript, avec des règles définies par ESLint pour garantir un code propre et cohérent.

2. Organisation Modulaire :

  • Le code est organisé en modules et composants distincts, ce qui facilite la maintenance et les mises à jour.

Outils de Linting

1. ESLint :

  • Pour le code JavaScript et TypeScript, nous utilisons ESLint. Cet outil permet de vérifier les erreurs de syntaxe et d'assurer la cohérence du style de code en suivant des règles préconfigurées adaptées à notre projet.

2. Tests Angular :

  • Pour tester notre code Angular, nous utilisons Jasmine et Karma. Jasmine est utilisé pour écrire les tests unitaires, tandis que Karma les exécute dans différents environnements de navigateur pour s'assurer que chaque composant fonctionne correctement.

Pratiques de Qualité

1. Revue de Code :

  • Chaque modification du code est soumise à une revue par un membre de l'équipe pour identifier les erreurs et améliorer la qualité du code avant son intégration.

2. Tests Automatisés :

  • Nous avons mis en place des tests automatisés avec Angular. Ces tests vérifient que chaque nouvelle fonctionnalité fonctionne comme prévu et n'introduit pas de régressions.