Dans le backend, on a décidé d'utiliser le wrapper `promised-sqlite3`. Il fonctionne autour du module `sqlite3` et permet l'usage des promesses pour sqlite3. Cela nous permet de gérer facilement les retours de la base de données, sans avoir à se soucier de la synchrone.
Dans le backend, on a décidé d'utiliser le wrapper `promised-sqlite3`. Il fonctionne autour du module `sqlite3` et permet l'usage des promesses pour sqlite3. Cela nous permet de gérer facilement les retours de la base de données, sans avoir à se soucier de la synchrone.
Pour gérer les appels à la base de donnée, nous avons créer une API
Pour gérer les appels à la base de données, nous avons créé une API possédant divers routes que voici:
- User
`User - /API/v1/user`<br>
- f
Cette route gère le CRUD des utilisateurs avec respectivement les méthodes post, get, patch et delete (pour les deux dernières, on rajoute l'ID à la route comme ça /API/v1/user/:id)
- Question
Lorsqu'on s'y connecte, l'API vérifie si l'utilisateur est admin et, dans le post et le patch, elle vérifie également les identifiant.
- Answers
- Category
`Question - /API/v1/question`<br>
- Login
De façon similaire à user, le CRUD est géré avec les mêmes méthodes post, get, patch et delete. Par contre, à la différence des utilisateurs, il y a deux get. L'un, de base, retournant toutes les questions et un deuxième auquel on ajoute un ID qui ne retournera que la question souhaitée.
\ No newline at end of file
`Answers - /API/v1/answer`<br>
Concernant le CRUD des réponses, la particularité se trouve dans le get. En effet, ce dernier a besoin de l'ID de la question pour pouvoir retourner les réponses de la question souhaitée.
`Category - /API/v1/category`<br>
Les catégories ne possèdent pas d'update car nous n'avons pas considéré cette possibilité comme pertinente. Le reste se passe de façon similaire aux utilisateurs.
`Login - /API/v1/login`<br>
La connexion des utilisateurs ne possède qu'une méthode post de par sa nature. En effet, elle ne peut guère faire plus (car tout ce qui concerne les utilisateurs est dans la route user).
### Problèmes rencontrés
Il y a un bug dans notre site que nous n'avons pas réussi à régler, même avec de l'aide. À la fin d'une partie, le tableau des scores s'affiche correctement et est détruit si l'on quitte la page. Cependant, si l'admin revient, l'affichage affichera toujours le dit tableau.