Our Achievements

MosCow Status

Functional Requirements

The ability to convert any Voiceflow bot into an SMS chatbot with the same functionalityMustThowhid
Deploy the SMS chatbots under a specific phone number that can be chosen from a set of numbersMustAll Equal
The ability to dynamically remap different chatbots to different numbersMustAll Equal
User-facing application deployable on Windows / Mac environments or via a web APIMustMichael, Zvezdin
If is is via a web API, it should sit on a Linode platform and be deployable via DockerMustIrrelevant Requirement
The ability to remove deployed chatbotsShouldThowhid, Michael, Zvezdin
The ability to log errorsShouldZvezdin
If the solution is not standalone, enable a Voiceflow user to apply the solution via multiple browsers including Chrome and ExplorerShouldIrrelevant Requirement
The ability to test a chatbot as if it was deployed on SMSCouldThowhid, Michael
Have unit tests for core business logicCouldThowhid
Have 95%+ code coverage for all business logicCouldThowhid
Have full system E2E tests and test all probable system workflowsCouldThowhid
Have UI unit tests for all UI pagesCouldMichael
Have full UI E2E tests (including business logic) and test all probable user pathwaysCouldMichael
Create 100% fail-proof input validation to guarantee that if the system accepts an input, it will be interpreted correctly.CouldThowhid, Zvezdin

Non-functional Requirements

Discover a method to export chatbot data out of Voiceflow, OR, research Voiceflow alternativesMustThowhid, Zvezdin, Michael
Research the best platform for building SMS botsMustThowhid
The SMS bot should be no/little code environmentMustAll Equal
Design a stable bot data formatCouldZvezdin, Thowhid
Design a stable API for SMS backendsCouldZvezdin
Produce implementations of these APIs for your chosen platformsCouldThowhid
Document, test, and publish them as isolated npm packagesCouldThowhid, Zvezdin

We are happy to say that we have met 100% of all functional and non-functional requirements as well as optional requirements.

Issue Tracking

We used GitHub issues to keep track of any bugs that existed or any other issues when it came to developing:

We would assign members to issues if they were relevant to them or solve them based on urgency and priority.

Known Bugs

1Manage bots table data does not update if store.bots updatesLow
2Use electron-log to catch uncaught exceptionsLow

These are things that developers should know about when maintaining the software. This doesn’t affect functionality or performance but should be known to developers.

Individual Contributions

Work PackagesThowhidZvezdinMichael
Project Partners liaison157015
Requirement analysis403030
Research and Experiments602515
UI Design102070
Report Website305020
Management and Quality Control108010
Overall contribution333333
Main Roles (maximum three for each member)SMS Services and BackendProject Management, Mentor and IntegrationFrontend and Testing