BotFlow - visual content manager for simple Rasa chatbots
BotFlow was originally created by LAPPIS as part of a project done in partnership with the Brazilian Ministry of Citizenship to manage the content of Tais, a chatbot for the culture incentive law.
Want to develop a chatbot using the RASA Framework?? ✏️ Access Rasa Boiler Plate PTBR
BotFlow is developed using React JS and Redux for the frontend layer. The backend is developed with Django REST, in the BotFlow API repository.
The frontend is divided in Pages, Components and Ducks:
- Ducks - The ducks folder contains the actions and reducers for Intents, Uttters and Stories. It configures the store and have all the functions needed for data manipulation and API connection.
- Components - The application pages are componentized, and this folder contain all its separate compontents.
- Pages - Contain the website pages.
In Tais architecture, this platform generates the training data.
Botflow allows you to add and edit intents, utters and stories without handling markdown or yaml files.
To add the intents, just go to the Questions page and add examples of user's inputs to that intent. You can also edit or delete a intent by selecting it on the sidebar.
To add utters, just go to the Answers page and add your bot's answer. You can edit or delete a existing utter as well, just select it on the sidebar. The utters may be displayed as sequence or chosed between alternatives.
A Story is a sequence of intents and utters. To create one, go to Dialogs page and select an existing story or create a new one. You can drag the elements to place it in the correct order. See an example of conversation on the right side of the screen.
After all content is ready, click on the Export Content button on the Navbar and it will download the created content.
To run application properly you'll have to run the API as well. To do so, clone the API repository and run docker-compose up
.
Make sure the frontend is linked correctly with your API endpoint by checking the REACT_APP_URL_API
env variable in the docker-compose.yml
file on the frontend repository. If you API is running on another server just place the correct DNS or IP address.
After all API configuration is done, to run the application just run the docker-compose up
command.
-
To run the tests use the command on the app/ folder:
npm test
-
To run the tests and see the final coverage run:
npm test -- --coverage --watchAll=false
The entire BotFlow platform is developed under the license GPL3
View all the license dependencies here.