Semaine 2
Laboratoire 2
-
Démo, le fonctionnement présenté est le minimum à respecter
-
Implémenter la gestion CDL des Comments via AJAX(sans utiliser Turbo ou autre librairie), en utilisant le format JSON pour la communication client-serveur
- Un utilisateur peut commenter un article, un article peut avoir plusieurs commentaires
- Un utilisateur doit être authentifié pour commenter et ne peux supprimer que ses commentaires
- Afficher le nombre de commentaires dans la liste des articles
-
Liens utiles
-
Explorer les mécanismes de tests de contrôleurs fonctionnels
- Implémenter les tests pour les actions UD des Articles et CDL des Comments
- Vos tests doivent couvrir les cas positifs et alternatifs exhaustifs
- Testing Ruby On Rails
- Intégrer Devise aux tests
- Exploiter les Fixtures pour générer les données de test
-
Il est fortement suggéré d'implémenter les tests des Comments en parallèle de l'implémentation des fonctionnalités, dans l'esprit d'une approche TDD
-
Analyser les requêtes générées à la console lors des appels de récupération de données pour repérer les symptômes de N + 1
- Corriger ce comportement pour la listes des Articles et la liste des Comments
- Générer des seeds démesurés pour constater l'impact du correctif
-
BONUS
- Implémenter une gestion CUD via JS/AJAX de l'image individuellement d'un Article: aperçu de l'image dans le formulaire, changement, suppression
- Appliquer une attention particulière à mettre en place un UI/UX agréable
Grille d'évaluation - Rails Laboratoire 2, 10%
Modèles
Comments
Migrations, Seeds++++++++, Relations, Validations
0 1 1.5 2 2.5 3
Contrôleurs
Comments, Gestion Auth, JSON, Erreurs
Privé C D L
Public L
Nombre de commentaires Articles#index
0 2 3 4 4.5 5
Vues
Comments, Gestion Auth, JS, AJAX, JSON, Erreurs
Privé C D L
Public L
0 2 3 4 4.5 5
Tests
Articles U D
Comments C D L
Gestion Auth, Fixtures
0 2 3 4 4.5 5
N + 1
Articles#index
Comments#index
0 1 1.5 2 2.5 3
Qualité technique
Convention, Organisation, Bonnes pratiques
0 -0.5 -1 -2
BONUS
UI, UX
0 +1
CUD AJAX de l'image individuellement d'un Article, aperçu lors de la sélection
0 +2
___ / 21
Échelle de notation
0 Absent, médiocre
2 Insatisfaisant
3 Minimal
4 Satisfaisant
4.5 Ajustements mineurs
5 Excellent