RICM4 2017 2018 - ChatBot

= Project presentation =

The project subject : ChatBot.

The project consist of creating a chatbot which would be able to lead a conversation with a human being.

This bot will help the SAH (which stands for Service Accueil Handicap, located in Grenoble, France) to collect data about the users, namely thanks to forms.

During his conversation with the bot, the user will have access to different services :
 * registering in the SAH by completing a form with the help of the bot
 * asking for informations about the SAH

Two main constrains :
 * the bot must be able to lead a conversation with disabled people
 * it will be deployed on Facebook Messenger, which means the user must have a Facebook account

The original project mentionned that the chatbot had to be deployed on a tablet which is at the SAH, but this tablet is currently not availble and it's already used by another team of engineers.

= Team =


 * Supervisor: Didier Donsez


 * Members: Julien Cordat-Auclair, Samuel Bamba


 * Department: RICM4 (Polytech Grenoble)

= Calendar = The project started on January 15th, 2018.

Week 1 - 15, 21 Jan.
Subjects were assigned.

First approach of the project:
 * We collected a lot of documentation about chatbots
 * We browsed Rasa's website, which was the library we had to use for our project
 * We started to build the conversation tree

Week 2 - 22, 28 Jan.
Getting familiar with Rasa:
 * We installed the required tools to use Rasa properly
 * We started to use Rasa by doing simple tests
 * We continued to build the conversation tree

Week 3 - 29, 4 Feb.
During this week, we met Dider Donsez as well as an enginner who worked on this project at the FabLab.

We've been tought how to implement the chatbot on the tablet in stock at the SAH.

We've also been told that Rasa wasn't the optimal solution to build our chatbot, so we had to find another solution that would be less constraining.

Hence, we left the idea of using Rasa and started to look for a better and more adaptive technology.

Week 4 - 5, 11 Feb.
We met Marie-Paule Balicco, director of the SAH, in order to talk about our project.

She told us that the tablet wasn't currently available.

Hence, we had no support at all (nor Rasa or the tablet) to work with and we had to find something new.

Redefining our work:
 * We thought about creating a Facebook page for the SAH
 * We thought about using Facebook Messenger in order to use our chatbot
 * We throwed ideas our chatbot could talk about and which it would make it easier for the SAH to get in touch with the students (forms)

At this point, we decided to implement our bot on Facebook Messenger as well as creating a Facebook page for the SAH, which would help SAH's team a lot with administrative work.

Week 5 - 12, 16 Feb.
Getting familiar with the Messenger platform:
 * Samuel learned how to implement a chatbot on the platform
 * Samuel started to code some basic exemples and test it on a Facebook page created on purpose
 * Julien kept working on the conversation tree

Week 6 - 17, 25 Feb.
The same work as the previous week has been done.

Week 7 - 26, 1 Mar.
Kept working on the two major aspects of the project:
 * Localhosted API development in Node.js and Express.js
 * MongoDB database connection to store the users' answers, which will be really useful for the SAH (namely with the forms)
 * Julien finished to build the conversation tree

Week 8 - 2, 11 Mar.

 * Implementation of the disabled persons form in Glitch server
 * State graph of the conversation tree added into our chatbot.

Week 9 - 12, 18 Mar.

 * Voluntary form start of implementation
 * Information cycle

Week 10 - 19, 25 Mar.

 * Voluntary form implementation

Week 11 - 26, 1 Apr.

 * Admin app start of implementation
 * Security options evaluation

Week 12 - 2, 8 Apr.

 * Admin app implementation
 * Last Meeting with the Service and Showcase of our bot