Install guide
parent
7f6c442d39
commit
b009bdce96
55
README.md
55
README.md
|
@ -1,6 +1,8 @@
|
||||||
# API node
|
# API node
|
||||||
|
|
||||||
RESTful API based on Expressjs. <a href="https://travis-ci.org/sundowndev/api-js-mooc"><img src="https://api.travis-ci.org/sundowndev/api-js-mooc.svg?branch=master" alt="Build status"></a>
|
<a href="https://travis-ci.org/sundowndev/api-js-mooc"><img src="https://api.travis-ci.org/sundowndev/api-js-mooc.svg?branch=master" alt="Build status"></a>
|
||||||
|
|
||||||
|
RESTful API based on Expressjs.
|
||||||
|
|
||||||
WARNING: This is for demo purposes. You should not run this in production (no cors, unit tests ...).
|
WARNING: This is for demo purposes. You should not run this in production (no cors, unit tests ...).
|
||||||
|
|
||||||
|
@ -25,6 +27,8 @@ When signed in, you must provide the access token:
|
||||||
Authorization: <Access_token>
|
Authorization: <Access_token>
|
||||||
```
|
```
|
||||||
|
|
||||||
|
**Note: The token is valid for 3 hours. After that delay you have to sign in again to get another one.**
|
||||||
|
|
||||||
## API response
|
## API response
|
||||||
|
|
||||||
The response code will never be in the response.
|
The response code will never be in the response.
|
||||||
|
@ -67,41 +71,28 @@ Validation error example:
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
## Specs
|
## Installation
|
||||||
|
|
||||||
**Pourvoir s'inscrire, se connecter, réinitialiser mot de passe (non connecté) :**
|
#### Requirements
|
||||||
|
|
||||||
- POST /auth/register (firstname, lastname, email, password)
|
- npm
|
||||||
(201 created)
|
- node >= 8
|
||||||
- POST /auth/login (email, password) (200 ok avec en body le user et en header le token d'authentification)
|
- MongoDB ~3.6
|
||||||
- POST /auth/rester-password (email) (optionnel si tu te sens pas chaud)
|
|
||||||
(200 ok)
|
|
||||||
|
|
||||||
**Pouvoir voir / modifier / supprimer son profil (connecté):**
|
```
|
||||||
|
git clone https://github.com/sundowndev/api-js-mooc/
|
||||||
|
cd api-js-mooc
|
||||||
|
npm install
|
||||||
|
```
|
||||||
|
|
||||||
- PUT /user/me (tous les champs sauf password) (200 ok avec en body le user après édition)
|
Run application
|
||||||
- PUT /user/me (si tu vois password et new password, ou mets une autre route si tu veux) (200 ok avec le user après édition mais sans mot de passe bien sûr)
|
|
||||||
- DELETE /users/me (supprimer le profil) (204 no content, car le user est supprimé et tu ne me renvoi rien)
|
|
||||||
- GET /users/me (renvoi le user) (200 ok avec en body le user) pouvoir gérer les notes (connecté)
|
|
||||||
|
|
||||||
**Notes:**
|
```
|
||||||
|
node index.js
|
||||||
|
```
|
||||||
|
|
||||||
- POST /notes (title optionnel, text optionnel, lié a user connecté) (201 creatred)
|
Say hello!
|
||||||
- PUT /notes/id (title optionnel, text optionnel) (200 ok avec en body la noté modifiée)
|
|
||||||
- DELETE /notes/id (supprimer la note) (204 no content)
|
|
||||||
- GET /user/me/ notes (toutes notes du user connecté)
|
|
||||||
- GET /notes/id (get la note de cet id si elle appartient au user connecté)
|
|
||||||
|
|
||||||
**Finito ! C'est un crud avec un minimum de vérif qui sont :**
|
```
|
||||||
|
curl 127.0.0.1:8080
|
||||||
- Est-ce que le user est connecté ou non
|
```
|
||||||
- Est-ce que le user est propriétaire de la ressource qu'il modifie ou supprime
|
|
||||||
|
|
||||||
C'est tout ce qu'il y a besoin de vérifier.
|
|
||||||
|
|
||||||
**Pour tout ce qui est erreur il n'y a que 4 règles à respecter :**
|
|
||||||
|
|
||||||
- Pas le droit car pas connecté : 401
|
|
||||||
- Pas le droit car connecté mais ne t'appartient pas : 403
|
|
||||||
- Ressource n'existe pas : 404
|
|
||||||
- Erreur de validation (si tu veux en faire) : 400 bad request
|
|
||||||
|
|
Loading…
Reference in New Issue