RASA Version: OSHC_Chatbot-Rasa
Deliverable of UTS 32933 Research Project Autumn 2019
supervisor: Dr. Wei Liu
Group 37
Overseas Student Health Cover is the health insurance which allmost all of the international students in Australia have to purchase before applying for student visa. This chatbot intends to educate current and prospective international students in Australia about their OSHC cover, who are the providers and how much do they cost.
To see the working demo, click on the links
Cronjob, ScheduleParser and the webhook is written in dotnet core 2.2
To run the chatbot, you will need to have the following
- Cronjob fails to run in 1core/1thread droplets in DigitalOcean, probably because of the parallel invoke.
- ScheduleParser isn't tested in linux. You migh face the same issue as Cronjob
Have a Mysql instance running. You can use managed Mysql provided by different cloud provider. The demo version of the project uses Google Cloud SQL. Import the chatbot.sql either using Mysql workbench or the following command This will restore the the snapshot of the demo database.
mysql -u username -p < chatbot.sql //schema name is mbs
if something goes wrong, use the create scripts called create.sql to create the tables for ScheduleParser and Cronjob
mysql -u username -p < create.sql
If you are using the mbs.sql to populate the database, you can skip this part and start from the next step.
-
Download & install your platform version of .Net Core sdk from (https://dotnet.microsoft.com/download)
-
Goto ScheduleParser/ScheduleParser
-
Open Program.cs
-
Replace the values of _servername, _id and _password in the method InserData with your mysql login data. if you are using the default schema, you don't need to change the value of _catalog.
if your schedule table isn't empty, run the following command in mysql:
truncate mbs.schedule
Run the program from ScheduleParser.sln using Visual Studio 2017/2019
In ScheduleParser/ScheduleParser folder, run in command line:
dotnet restore
dotnet run --configuration Release
ScheduleParser takes the xml file from ScheduleParser/schedule, parse it and then update it into a database.
Open Cronjob/Cronjob/mbsContext.cs
In method OnConfiguring(),
replace xx.xx.xx.xx with your server IP, root with your mysql instance username and ****** with your password.
Run the program from Cronjob.sln using Visual Studio 2017/2019
In Cronjob/Cronjob folder, run in command line:
dotnet restore
dotnet run --configuration Release
it will populate the oshcquote with updated premiums of that time
Open webhook\ChatbotAPI\EFModels\mbsContext.cs In method OnConfiguring(), replace xx.xx.xx.xx with your server IP, root with your mysql instance username and ****** with your password.
Run the program from UTS-ChatBot-RP19.sln using Visual Studio 2017/2019
In webhook\ChatbotAPI\ folder, run in command line:
dotnet restore
dotnet run --configuration Release
If everything is alright, it will show this window.
In order to make the webhook work, you will have to have the running instance exposed to the internet with a public IP. The best way to do it is to run it in a cheapo linux instance. For the demo, it is running on a Google cloud compute engine
In the Dialogflow console, on the right in Try it now, type
cost of item 23
if you have installed everything correctly, it will show:
For quotes, try
26 months no no
It should show something like this:
- What is MBS?
- What is covered?
- What is OSHC
- Who provides OSHC
- Do I need OSHC
- Does oshc cover psychiatrist visit?
- Does it cover emergency
- Get me a quote for OSHC
- What is item number X // X can be any integer
If you have any queries, feel free to create an issue or contact me via the email address in my profile.