Skip to content
Snippets Groups Projects
Commit 83954d23 authored by nicolas.paschoud's avatar nicolas.paschoud
Browse files

Doc

parent dd7ac99b
Branches
No related tags found
No related merge requests found
...@@ -48,7 +48,7 @@ Paschoud Nicolas : ...@@ -48,7 +48,7 @@ Paschoud Nicolas :
## Architecture ## Architecture
Notre architecture se présente sous cette forme. L'interraction entre les API se présente sous cette forme.
![hyperdrive](/Users/klaus/Documents/Web/Back/2019_tp2/documentation/hyperdrive.png) ![hyperdrive](/Users/klaus/Documents/Web/Back/2019_tp2/documentation/hyperdrive.png)
...@@ -57,6 +57,28 @@ Notre architecture se présente sous cette forme. ...@@ -57,6 +57,28 @@ Notre architecture se présente sous cette forme.
- L'API *ip-api* est appelée par hyperdrive seulement lorsque le client upload un fichier. Cet appel permet de retourner l'addresse de la personne en fonction de son IP. Les latitudes et longitudes sont stockée par l'hyperdrive dans le bloc SQL - L'API *ip-api* est appelée par hyperdrive seulement lorsque le client upload un fichier. Cet appel permet de retourner l'addresse de la personne en fonction de son IP. Les latitudes et longitudes sont stockée par l'hyperdrive dans le bloc SQL
- Le bloc whatismyipaddress n'est util que dans le cadre du développement. Cette API nous sert à récupérer notre IP pour ensuite faire un appel à *ip-api*. - Le bloc whatismyipaddress n'est util que dans le cadre du développement. Cette API nous sert à récupérer notre IP pour ensuite faire un appel à *ip-api*.
Voici comment se présente notre architecture
<img src="./architecture.png" height="1000px">
Nous avons plusieurs dossier principaux :
- /
A la racine se trouve les fichiers principaux de l'API :
- hyperdrive-rest.js
Il s'agit du fichier contenant le traitement pour chacune des routes
- sql-request.js
Ce fichier permet de faire des requêtes SQL vers la base de données.
- front/
Ce dossier contient tout le frontend de l'application
## Technologies ## Technologies
Pour la réalisation de ce projet, nous avons utilisé la plateform Node JS pour la réalisation de notre API REST. Nous avons aussi réaliser une base de données relationnelle MySQL qui se trouve dans un container. Tout notre projet a été réaliser en Javascript en utilisant les modules Node JS suivant : Pour la réalisation de ce projet, nous avons utilisé la plateform Node JS pour la réalisation de notre API REST. Nous avons aussi réaliser une base de données relationnelle MySQL qui se trouve dans un container. Tout notre projet a été réaliser en Javascript en utilisant les modules Node JS suivant :
...@@ -66,24 +88,20 @@ Pour la réalisation de ce projet, nous avons utilisé la plateform Node JS pour ...@@ -66,24 +88,20 @@ Pour la réalisation de ce projet, nous avons utilisé la plateform Node JS pour
- Crypto-js - Crypto-js
- http - http
\- Une représentation graphique de l’architecture
\- Les informations sur les technologies utilisées
\- Documentation des routes de l’API (adresse, méthode, paramètre, retours, etc.) - Toute informations utile à la compréhension de votre projet et au travail réalisé
## Routes ## Routes
### / ### /
La route principale retourne la page principale du site (index.html) La route principale retourne la page principale du site (index.html).
### /login ### /login
Cette route permet de créer un token pour l'utilisateur si il est inscrit au site Cette route permet de créer un token pour l'utilisateur si il est inscrit au site.
Paramètre : Paramètre :
- pseudo : Pseudo de l'utilisateur - pseudo : Pseudo de l'utilisateur.
- password : Mot de passe de l'utilisateur - password : Mot de passe de l'utilisateur.
Retour : Retour :
...@@ -106,26 +124,26 @@ Logout permet de supprimer un token lorsqu'un utilisateur se deconnecte. ...@@ -106,26 +124,26 @@ Logout permet de supprimer un token lorsqu'un utilisateur se deconnecte.
Param : Param :
- Token : Token de l'utilisateur a déconnecter - Token : Token de l'utilisateur a déconnecter.
### /register ### /register
Cette route permet d'inscrire un utilisateur au service de l'hyperdrive Cette route permet d'inscrire un utilisateur au service de l'hyperdrive.
Paramètres : Paramètres :
- pseudo : Pseudo du nouvel utilisateur - pseudo : Pseudo du nouvel utilisateur.
- password : Mot de passe du nouvel utilisateur - password : Mot de passe du nouvel utilisateur.
### /share/:file_id/:to_user ### /share/:file_id/:to_user
Cette route permet de partager un fichier avec un utilisateur Cette route permet de partager un fichier avec un utilisateur.
Paramètres : Paramètres :
- token : Il s'agit du token de l'utilisateur qui souhaite partage un fichier - token : Il s'agit du token de l'utilisateur qui souhaite partage un fichier.
- file_id : Il s'agit de l'id du fichier à partager - file_id : Il s'agit de l'id du fichier à partager.
- to_user : Il s'agit de la personne à qui on souhaite partager le fichier - to_user : Il s'agit de la personne à qui on souhaite partager le fichier.
### /upload ### /upload
...@@ -156,7 +174,7 @@ Paramètres : ...@@ -156,7 +174,7 @@ Paramètres :
Retour : Retour :
Cette route retour un tableau d'objet JSON. Chaque object est soit un dossier, soit un fichier Cette route retour un tableau d'objet JSON. Chaque object est soit un dossier, soit un fichier.
Voici l'exemple d'un objet fichier. Cet objet se trouve dans un tableau. Voici l'exemple d'un objet fichier. Cet objet se trouve dans un tableau.
......
documentation/architecture.png

116 KiB

0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment