GradeSCope Free
====
[TOC]
# Suivi de projet
## To fix
## Todo
## Ongoing
## TODO
- [ ] Comparaison rapide, ensemble de réponse avec le même commentaire, la même note
## Fixed
- [x] Exam
- [x] Question
- [x] ExamSheet
- [x] Final Result
- [x] Student Response
- [x] Comments
- [x] opencv path in the deployed version
- [x] Configuration email back
## Done
- [x] QCM Type de question
- [x] Traduction composant module scanexam (4h)
- [x] rework on the alignement when you do not have mark
- [x] Documentation générale sur le projet
- [x] Modèle sujet Latex
- [x] Modèle sujet Word
- [x] Sauvegarde bonne réponse
- [x] Vue home
- [x] Donnée factice
- [x] Afficher vraie liste de cours (requête au back)
- [x] Masquer vue entité pour user
- [x] Premère page
- [x] Composant Cours viusualisation
- [x] Composant Insérer groupe étudiant
- [x] Composant supprimer UE
- [x] Voir groupe étudiant pour une UE incluant VIDER LISTE ETUDIANT pour cet UE
- [x] Refactoring module
- [x] Composant Créer exam
- [x] Composant Exam (Supprimer Exam, Lien Editer Zone, Charger scanétudiant, Lancer mapping nom étudiant, Corriger)
- [x] Composant ExamEditerzone
- [x] Créer type de rectangle fabric
- [x] Vérifier compilation native
- [x] Vue question
- [x] Mise en place CI
- [x] Mise en place CD (front)
- [x] Vue home admin
- [x] Bouton retour dans la partie annoter document
- [x] Bouton charger scan
- [x] Bouton associé copies
- [x] Bouton Corriger
- [x] Intégration opencv
- [x] Test intégration opencv
- [x] Mise en place CD (back)
- [x] Alignement pdf (opencv)
- [x] TensorFlow.js, reconnaissance chiffre (match étudiant)
- [x] Backup alignement pdf
- [x] Découpe numéro (bounding box, opencv)
- [x] Association étudiants (angular)
- [x] Intégration tensorflowJS and association copies
- [x] Manual integration of Student
- [x] Création exam boolean Box (marker)
- [x] Composant Corriger
- [x] fix ROI function (Refactoring) (30 mins)
- [x] Icone verte dans le workflow de correction (1h)
- [x] Activer correction que quand toutes les copies sont associées (30 mins)
- [x] add englobing rectangle when two rectangle intersect (3h)
- [x] Add a penalty when name has remaining characters (1h)
- [x] fabrik.js to add comment in corriger component (3h)
- [x] Création commentaire texte
- [x] Création commentaire noté
- [x] Ajouter trois types de question (DIRECT/POSITIVE/NEGATIVE) (2h)
- [x] Remettre au carré la partie entité de question, responseStudent et commentGraded et CommentText
- [x] Menu question, choix du step et type de question direct ....
- [x] Permettre d'éditer le type de question dans la partie annotée
- [x] Permettre d'éditer la partie step dans le menu question
- [x] Propager notion de step dans composant correction
- [x] Sauvegarde et chargement commentaire fabric
- [x] backup data pour aller vite
- [x] Permettre d'ajouter un commentaire sur une question directe (3h)
- [x] Calcul de la note en fonction du nombre de step pour la question
- [x] Permettre d'ajouter un commentaire noté dans une question positive ou négative (3h)
- [x] Clean browser database
- [x] Pouvoir modifier les commentaires
- [x] Traduction title route
- [x] Droit sur les routes front
- [x] Droit sur les routes back
- [x] Raccourci clavier pour accélérer la correction
- [x] Gérer les droits pour toutes les APIs en écriture et limiter droits sur les APIs en écriture aux données associées à l'utlisateur authentifié (3h)
- [x] keyboard shortcut to validate binding (1h)
- [x] calcul note finale fondé sur la note des commentaires notés
- [x] Meilleure visualisation div commentaire appliquée
- [x] Identifier les réponse excellente en vue de la génération d'un corrigé type.
- [x] Slider augmenté vue crop dans la partie correction
- [x] Bouton supprimer alignement dans la vue correction
- [x] Slider augmenté vue crop dans la partie alignement
- [x] Bouton supprimer alignement dans la vue alignement
- [x] Composant visualisation résultat pour un étudiant (2h)
- [x] Calcul note finale
- [x] Composant visualisation et export résultat (3h)
- [x] Bouton et composant envoyer résultats aux étudiants (3h)
- [x] Modifier liste étudiants (inplace)
- [x] Nom étudiant masquable dans corriger copie
- [x] Modification email envoie aux étudiants
- [x] Afficher note globale dans composant voir résultat étudiant
- [x] Realigner copie vue étudiante
- [x] Mettre à jour la vue du numéro de question quand mise à jour dans le menu propriété. (1h)
- [x] Mail question sur réponse étudiants (multilangue)
- [x] Lien voir example bonne réponse (30 mins)
- [x] explosion redressement scan
- [x] Commentaire positif négatif à inverser.
- [x] Calcul note commentaire négatif à vérifier
## TO Think
- [ ] Module retour et contestation étudiant
- [ ] Réfléchir annotation automatique par question
# Quelques liens pour driver la roadmap
## Reconnaissance de chiffres
### Isoler les différents chiffres à l'aide d'opencv
- https://aralroca.com/blog/opencv-in-the-web
- https://stackoverflow.com/questions/55782857/how-to-detect-separate-figures-in-an-image
- https://stackoverflow.com/questions/58084229/remove-borders-from-image-but-keep-text-written-on-borders-preprocessing-before
### Faire de la reconnaisance avec du deep learning (tensorflow)
- https://aralroca.com/blog/first-steps-with-tensorflowjs
- https://codelabs.developers.google.com/codelabs/tfjs-training-classfication?hl=fr#0
le lien 1 donne un exemple avec un modèle pré-entrainé
- https://github.com/longas/Letter-Recognition
- https://raw.githack.com/dida-do/public/master/handwriting_app/web/index.html
## Manipuler les pdf et identifier les zones d'intérêt
Combiner pdf.js et fabric.io
http://jsfiddle.net/ebeit303/c9qzerjs/
l'APi pour récupérer le canvas de pdfjs
et dans le composant parent tu inject le service
constructor(private pdfService: NgxExtendedPdfViewerService) {}
spec du service ici pour avoir le canvas
https://github.com/stephanrauh/ngx-extended-pdf-viewer/blob/e9aa61dab0f2498b6009
c978e41ef9dfd992dac6/projects/ngx-extended-pdf-viewer/src/lib/ngx-extended-pdf-v
iewer.service.ts#L279
Le composant angular pdf.js
- https://pdfviewer.net/extended-pdf-viewer/
partie fabrikjs avec angular
- https://github.com/kevoj/angular-editor-fabric-js#readme
Demo intégration angular fabrikJS
https://github.com/barais/gradescopeistic
## Authentification, modèle de donnée et base de données
JHipster + Quarkus
https://github.com/barais/corrigeExamBack
https://github.com/barais/corrigeExamFront
## Module Alignement Scan dans le navigateur
https://scottsuhy.com/2021/02/01/image-alignment-feature-based-in-opencv-js-javascript/
https://icollect-jewelry.com/opencv_align#
## Crop image in pdf
https://www.bacancytechnology.com/blog/convert-pdf-to-image-in-angular-11