# nodejs-chatbot

Pour créer un chat-bot avec node js, on doit commencer par initialiser le projet.
Pour créer un projet nodejs :

On installe node js avec la commande sudo apt-get install nodejs  
Puis, dans notre repo, on crée un fichier server.js dans lequel on peut créer
la réponse de la sortie standard "Hello World" lorsque le client fait une requête à la racine ("/").
On peut faire cela avec le code suivant à mettre dans server.js :

const express = require('express')
const app = express()

app.get('/', function (req, res) {
res.send('Hello World')
})

app.listen(3000, function () {
console.log('Example app listening on port 3000!')
})

Ensuite, on crée le fichier package.json à l'aide de npm init package.json  
et enfin, on ajoute la dépendance express avec npm install express --save

Après, on tape echo node_modules >>.gitignore et node server.js
node server.js va lancer notre app sur le port 3000 !

Afin de faire fonctionner ce serveur depuis une autre machine, utilisez les commandes :

```console
git clone -q https://gitlab.eemi.tech/margot.rasamy/nodejs-chatbot.git
```

Aller dans le dossier du repo cloné et faire

```console
npm install
```

, puis

```console
node dates.js
```

pour ajouter des dates.

Et enfin pour lancer le projet

```console
npm start
```

ensuite,

```console
curl -X POST --header "Content-Type: application/json" --data "{\"msg\":\"demain\"}" http://localhost:3000/chat
```

pour ajouter un nouveau message.

```console
curl -X GET http://localhost:3000/messages/all
```

pour afficher les messages.

```console
curl -X DELETE http://localhost:3000/messages/last
```

pour supprimer le dernier message.

Les differents points d'accès de l'API sont :

```js
GET / messages / all;
```

qui permet de voir tous les messages envoyés par l'utilisateur

```js
POST / chat;
```

qui permet d'envoyer un message et obtenir une réponse du bot avec

```console
curl -X POST --header "Content-Type: application/json" --data "{\"msg\":\"demain\"}" http://nodejs1chatbot.herokuapp.com/chat
```

par exemple si c'est en production et

```console
curl -X POST --header "Content-Type: application/json" --data "{\"msg\":\"demain\"}" http://localhost:3000/chat
```

si c'est en local

et enfin,

```js
DELETE / messages / last;
```

afin de supprimer le dernier message, avec

```console
curl -X DELETE http://nodejs-chatbot/messages/last
```

en production et

```console
curl -X DELETE http://localhost:3000/messages/last
```

en local
