diff --git a/documentation/Hyperdrive.md b/documentation/Hyperdrive.md index bbccf0407f6292a8b6b51ea1da5de5756d15f15e..75215922b356d7d285aa981a7e382d0931e23ad2 100644 --- a/documentation/Hyperdrive.md +++ b/documentation/Hyperdrive.md @@ -48,7 +48,7 @@ Paschoud Nicolas : ## Architecture -Notre architecture se présente sous cette forme. +L'interraction entre les API 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 - 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 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 - Crypto-js - 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 ### / -La route principale retourne la page principale du site (index.html) +La route principale retourne la page principale du site (index.html). ### /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 : -- pseudo : Pseudo de l'utilisateur -- password : Mot de passe de l'utilisateur +- pseudo : Pseudo de l'utilisateur. +- password : Mot de passe de l'utilisateur. Retour : @@ -106,26 +124,26 @@ Logout permet de supprimer un token lorsqu'un utilisateur se deconnecte. Param : -- Token : Token de l'utilisateur a déconnecter +- Token : Token de l'utilisateur a déconnecter. ### /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 : -- pseudo : Pseudo du nouvel utilisateur -- password : Mot de passe du nouvel utilisateur +- pseudo : Pseudo du nouvel utilisateur. +- password : Mot de passe du nouvel utilisateur. ### /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 : -- 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 -- to_user : Il s'agit de la personne à qui on souhaite partager le 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. +- to_user : Il s'agit de la personne à qui on souhaite partager le fichier. ### /upload @@ -156,7 +174,7 @@ Paramètres : 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. diff --git a/documentation/architecture.png b/documentation/architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..98f58cabbcac0c4b57b863df648aa35eb02bfbe1 Binary files /dev/null and b/documentation/architecture.png differ