Ce projet doit permettre d'évaluer les compétences des élèves.
- Lister fonctionnalités attendues
- Faire un diagramme de classe
- Créer les entités avec make:entity (pensez à configurer l'accés à votre BDD)
- Créer les pages attendues avec make:controller
- Créer le système de gestion des comptes utilisateurs
- Coder toute la logique métier
- pouvoir créer des questions en markdown
- pouvoir créer des classes d'élèves
- correction automatique des épreuves
- Limitation du temps de réponse de chaque question
/Page d'accueil ✔️/loginPage de connexion ✔️/registerPage de création de compte ✔️
En tant qu'élève :
-
/{userId}Tableau de bord d'un utilisateur -
/{userId}/examListe des examens lié à l'utilisateur en tant que participant -
/{userId}/exam/{id}détail d'un examen -
/exam/{id}/{userId}/{sequence}passage d'un l'examen -
/exam/{id}/{userId}/resultrésultat d'un l'examen
En tant que formateur :
/questionliste des questions qu'on a créé/question/newcréation d'une nouvelle question/question/{id}détail d'une question/question/{id}/editmodification d'une question/qcmliste des qcms qu'on a créé/qcm/newcréation d'une nouvelle qcm/qcm/{id}détail d'un qcm/qcm/{id}/editmodification d'un qcm/testliste des tests qu'on a créé/test/newcréation d'une nouvelle test/test/{id}détail d'un test/test/{id}/editmodification d'un test
Les tests sont écrits avec Behat et PHPUnit.
Les tests Behat actuels prennent des screenshots. Ces derniers se trouvent dans le dossier public/panther. Et si cela concerne un test qui a échoué, le screenshot est dans le sous-dossier echec.
Pour lancer les tests, il suffit de lancer la commande :
make test
Cela réinitialisera la BDD et lancera les tests phpUnit puis les tests Behat.
Lorsqu'un développement est terminé, il est conseillé de lancer la commande make quality qui s'assurera de la qualité du code.
Au commit, grumphp s'assurera notamment que des mots interdits n'ont pas été laissés.
Pour ajouter une nouvelle fonctionnalité, il est conseillé de commencer par écrire le gherkin Behat, puis le code lié à ce gherkin puis le code lié à la fonctionnalité.
