Chatbot Studio is a platform to design, manage and run chatbots using a blockly-based interface, and a powerful engine over Microsoft Bot Framework.
Read this in other languages: English, Português.
Chatbot.Studio.Clip.mp4
Chatbot.Studio.-.Maps.mp4
Pre-requisites:
- Visual Studio
- Visual Studio Code:
- Fira code font
- Sql Management Studio
- Insomnia
- .net Framework 4.5.2 (If installed with a vs instance open, restart VS before build)
- IIS Express
- LocalDb
- NVM
- Node 18
- bot framework emulator v3 (https://github.com/microsoft/BotFramework-Emulator/releases/tag/v3.5.36)
- yarn 1.22.5
- chocolatey 0.11.3
- Git for windows 2.33.0.windows.2
- ngrok
-
Clone the repository from https://github.com/rcarubbi/Carubbi.ChatbotStudio
-
Configure all projects to x64 architecture
-
Right-click on database project and click on publish
-
Set database instance as MSSqlLocalDb
-
Name the database as botEditor and publish
-
Run Backend.Api, install development certificate if asked
- Run Insomnia, go to preferences and remove the Validate Certificates option
- Create a new document as Carubbi.ChatbotStudio
- Click on + button to create a request called CreateAdminUser with the following parameters method: POST URL: https://localhost:44398/api/Account header: Content-type: application/json payload: { "username":"admin", "email":"[email protected]", "password":"admin", "active": 1 }
- Run sql script dbo.Inserts.data.sql in the database created above
- Create a new request called GrantBackendAccessToUI with the following paremeters: method: POST URL: http://localhost:44398/api/AppAccess header: Content-type: application/json payload: "BotEditor UI"
Copy clientId, accesskey and secretKey from response to use in the next steps
-
Stop the backend
-
Run vs code from folder carubbi-boteditor
-
Open .env file and replace: REACT_APP_CLIENT_ID={ClientId}:{AccessKey} REACT_APP_CLIENT_SECRET={SecretKey}
-
Open configs/clientCredentials.json file and replace client_id={ClientId}:{AccessKey} e client_secret={ClientSecret}
-
Install node-gyp and dependencies following the guide https://github.com/nodejs/node-gyp
-
download dependencies with yarn
-
Install serve - yarn global add serve
-
Create a ngrok account https://dashboard.ngrok.com/signup
-
Configure authtoken: ngrok config add-authtoken
-
Build UI: yarn build (note: can be required to update react-scripts before build)
-
Check the sites configuration in the applicationhost.config file inside .vs folder:
-
Download dependencies with yarn
-
Open a 2nd instance of vs code from folder carubbi-botconnector
-
Update the paths in the SetEnvironmentVariables.ps1 file and execute it
-
Run BotEditor.bat to start the application