Skip to content
Alexis Smirnov edited this page Mar 8, 2020 · 7 revisions

This site explains how to update and extend content on covid19.dialogue.co

Introduction

The purpose of covid19.dialogue.co is to deliver accurate personalized information from trusted Canadian medical sources regarding COVID-19.

This service personalizes the information about the virus based on user's individual situation. To do so, the service includes a chatbot system (Chloé) to collect the needed informaiton form the user and determine which content is relevant to their situation.

All content is sources from publicly available information and is vetted by Canadian medical professionals.

How it is built

  • Automated infrastructure configuration (AWS storage, content distribution network, DNS)
  • Continuous integration pipeline via CircleCI: validates, builds and uploads content to AWS, insures clean code, review process, deploys every branch
  • No secrets in the code, the code is in open-source
  • No runtime back-end, everything is done at bulid-time, then uploaded on AWS S3
  • Standard react app
  • Uses React Simple Chatbot to define the chatbot flow and collect answers (completely in-browser, no server-side, no Rasa)
  • Uses a rules engine to classify collected answers into one of several content classes
  • Every piece of content belongs to a class. All content for a given set of classes is collected and served.
  • GitHub is being used as a content management system, so the review is done via Pull Requests.
  • Content is written in text files using Markdown format
  • Content files are rendered via React Markdown

Clone this wiki locally