Skip to content
This repository was archived by the owner on Apr 3, 2023. It is now read-only.

Back End Architecture

shangbol edited this page Dec 6, 2020 · 12 revisions

Back-end Architecture

The diagram above shows an overview of the backend architecture of Chatterplot. In order to decrease latency and increase the responsiveness of the app, all of features are run on the device itself.

1: Dataset GUI The display on the user's device. The GUI will display the list of datasets and the visualizations and allow the user to interact with the data (i.e. adding new data). The main screen is implemented using the RecyclerAdapterView; the visualizations are implemented with the AAChart library.

2: SpeechRecognizer The SpeechRecognizer module will process the vocal commands from the user then return the content of the command as a text string. This function is implemented using Android SpeechRecognizer, a built-in library in Android.

3: Command Parser The Command Parser receives the user's vocal commands and initiates processing of the commands. This function is implemented as a branching series of checks, where the content of the voice command is analyzed by the NLP module.

4: NLP Module The NLP module processes the user's vocal commands to discern the intent of the user and returns the result to the command parser. The NLP module parses the content of the voice command for specific keywords and extracts the necessary parameters to perform the user's intended operation. This function is implemented as the SpeechProcessing class.

5: Database Helper The Database Helper serves as the interface for the database. Allows the other functions to add, retrieve, and modify the data in the database. This function is implemented as a class interface that evokes built-in Android SQL functions.

6: SQL Database The database is used to store all of the user's data in Chatterplot, which will be retrieved in order to display the datasets and visualize the data. The database is implemented using Sqlite.

Clone this wiki locally