mirror of
https://git.roussel.pro/telecom-paris/pact.git
synced 2026-02-09 02:20:17 +01:00
36 lines
2.1 KiB
Markdown
36 lines
2.1 KiB
Markdown
# Serveur de traitement des données
|
|
Ce serveur s'occupe de fournir une API web pour pourvoir ajouter des avis sur la borne, réxupérer des avis, calculer et fournir les statistiques sur ces avis
|
|
|
|
# Installation (Si vous voulez le lancer hors du container docker)
|
|
* Pour faire fonctinoner le serveur sur vos machines il y a 3 choses a faire
|
|
1. Installer node js : https://nodejs.org/en/download/
|
|
2. Ouvrir un terminal et aller dans ce dossier (code/server) et tapper `npm install` pour installer les pacakges nécessaires
|
|
3. copier le fichier `.env_template` et le nommer `.env` et remplir les variables (cela est fait pour le pas mettre les mots de passes sur le gitlab, faites attention de ne jamais commit le fichier .env !!)
|
|
4. pour lancer le serveur faire `node index.js`
|
|
|
|
# Utilisation
|
|
## Avis laissés sur la borne (hors réseaux sociaux)
|
|
### Routes GET :
|
|
- `/borne/get_last_reviews?limit=LIM` : renvoie les LIM derniers avis sur la borne
|
|
- `/borne/get_review?id=ID` : renvoie les infos sur l'avis d'in ID
|
|
- `/borne/get_criteres` : renvoie les criteres de notations valide pour les notes autres
|
|
- `/borne/notes_autres?critere=CRIT&limit=LIM` : renvoie les LIM dernières notes sur le critère CRIT
|
|
- `/borne/notes_autres?id=ID&limit=LIM` : renvoie toutes les notes spécifiques liées à l'avis ID
|
|
- `get_stats?interval=INTERVAL&limit=LIM`: interval est "jour", "mois", "annee", "semaine", l'interval de calcul de données demandé, LIM est le nombre des stats à récupérer
|
|
|
|
### Routes POST
|
|
- `/add_review` : Ajoute une review et un auteur, paramètres POST :
|
|
* [OBLIGATOIRE] `note` : note principale de la review entre 0 et 10 compris
|
|
* [OBLIGATOIRE] `source` : nom de la source de l'avis, doit être `borne` ou `website` pour resp la borne et le site
|
|
* `auteur_age` : age de l'auteur
|
|
* `auteur_sexe` : sexe de l'auteur (valeurs valide 'f', 'h', 'a')
|
|
* `commentaire` : Commentaire laissé avec l'avis
|
|
* `notes autres` : sous la forme
|
|
```json
|
|
{
|
|
"critere1": 8,
|
|
"critere2": 2,
|
|
"critere3": 0
|
|
}
|
|
```
|