Evaluation

Compatibility and Maintainability

Compatibility

Since we use Electron, our application is compatible with MacOS, Windows and Linux. The NHS largely uses Windows machines, with some of the oldest being Windows 7, which Electron can support.

By supporting all major OS’s, there are minimal restrictions to who is able to run our application.

Maintainability

Our project focuses on being flexible as we provide many modules and an API that can be extended and built on top of.

Complete Modularity

We decouple the UI from the backend logic using connectors in terms of different packages (following the principle of separation of responsibilities). In the case Twilio or Voiceflow shuts down, you can easily adapt and change these connectors to support new packages.

APIs

Despite Twilio being a rather large company, there is no guarantee that they will be around in the future. That is why we made the UBF SMS API.

Implementing this API with your own backend allows developers to integrate internet services like Telegram and Whatsapp, so you can take a Voiceflow bot designed for smart speakers and put it straight onto Whatsapp.

Documentation

To allow anyone to pick up this project and know exactly what everything does, we focused heavily on providing good user and developer-facing documentation which covers our whole system. This includes:

  • Providing JSDoc style documentation for all functions.
  • Web documentation for our the UI and both of our packages.
  • Limits documentation stating how far you can push our product - how many chatbots you can create, how many API calls you can do at one time, and many other key edge points.
  • We made sure to have thorough maintenance documentation and clear setup and usage documentation.

Testing

Each of our project’s different elements have been through vast testing suites, ensuring that each module works as desired. These tests included unit, integration, end to end, compatibility and user acceptance testing with continuous integration set up to automate these tests.