diff --git a/docs/CahierDesChargesMobile.md b/docs/CahierDesChargesMobile.md new file mode 100644 index 000000000..13511fc32 --- /dev/null +++ b/docs/CahierDesChargesMobile.md @@ -0,0 +1,112 @@ +# Cahier des charges (v0) du projet d'adaptation mobile + + +Cahier des charges rassemblant les fonctionnalités à implémenter pour la version mobile de ScoDoc. + +## Fonctionnalités + +### Login (/ScoDoc) + +Page de login inspirée de la version web actuelle (Avertissements...) + +Login par département. + +### Acceuil / Choix du département (/Scodoc) + +Page d'acceuil, liste les départements auquels l'utilisateur est membre. + +Liens vers: +- `Scolarité` +- `Formations` + +### Scolarité / Semestres (ScoDoc/DEPT/Scolarite) + +Consultation des semestres et sessions en cours. + +### Formations (/ScoDoc/RT/Scolarite/Notes à changer en /Formations ?) + +Consultation des formations disponibles. + +Liens vers (en fonction de la formation selectionnée): +- `Gestion semestre` + + +### Gestion Semestre (ScoDoc/DEPT/Scolarite/Notes/formsemestre_status?formsemestre_id=ID_SEM) + +Accès au tableau de bord des formations. + +Depuis ce tableau de bord: +- Affichage des infos de la formations +- Affichage sous forme de liste des enseignants +- Affichage des étudiants inscrits + - Listes et exportation + - Photos + - Saisie d'absence (A passer au tableau de bord ? Redirection ?) + +### Saisie des absences (Page a définir) + +Utilisation d'un dropdown pour le choix du groupe. + +Affichage d'un tableau (Absences matin/après-midi séparées) +- A la semaine +- Sur un jour précis + +### Page d'étudiant + +Affichage des informations de l'étudiant. + +Liens vers: +- `Gestion/Saisie des absences` (Ajout, Suppression, Justification) + + +## Besoins dans l'API (Source: [Documentation de l'API](https://scodoc.org/ScoDocAPI)) + +### `formation_list` + +Affichage et récuperation de la liste des formations. + +### `formsemestre_list` + +Affichage et récuperation de la liste des semestres. + +### `etud_info` + +Consultation des infos d'un étudiant. + +### `Notes/formsemestre_bulletinetud` + +Affichage d'un bulletin de note. + +### `Notes/do_moduleimpl_withmodule_list` + +Récuperation d'une liste des modules. + +## Choix des outils (Framework JS) + +### Solutions "modernes" + +Les solutions retenues ici sont récentes et mises a jour, et probablement plus durables. + +#### ReactJS (Choix final) + +ReactJS utilise une syntaxe JSX crée en 2013 et développée par Facebook (et sa communauté). + +#### Vue JS + +VueJS est un Framework OpenSource crée par Evan You en 2013 + +#### Choix + +Les deux framework ont leurs avantages, mais malgré sa difficulté a prendre en main, +React est plus adapté aux projets de cette envergure. + +Les deux framework sont bien documentés et très complets. + + +### Autres solutions étudiées + +Ces solutions n'ont pas été retenues car inadaptés au projet + +#### Angular + +Utilise des TypeScript, difficile a prendre en main, d'autres solutions sont plus complètes.