Speech Therapy Application 2019-2020

The goal of the project is to continue off the work of two previous teams for a speech therapy application intended for children. Specifically, this project will be implementing a complete user interface to interact with the previous team's database system and to expand upon the security of the application to ensure compliance with medical data laws.

=Problem Definition= This project is a continuation of two previous capstone teams’ work on a speech therapy application intended for children. The first team developed a proof-of-concept speech analyzer using an open-source library called Sphinx. The second team developed a java wrapper and database structure for the backend of the application. This year, we will be developing the frontend of the application, creating an intuitive user interface for both therapists and patients and expanding upon the application’s security. Overall, this project is intended to assist children undergoing speech therapy with a simple application that provides speech lessons. These lessons can either prompt words or phrases with a text-to-speech generator or by the patient’s therapist and the patient’s response will be scored by comparing it to a matching phrase. Google’s speech-to-text API will serve as the speech analyzer and our interface will be simple enough for a child to use but also complex enough for therapists to see all relevant data. The security must also be expanded upon to comply with COPPA (Children’s Online Privacy Protection Act) by utilizing modern encryption and authentication standards.

=Background= Research shows that about 8% of children need speech therapy globally. There are many speech therapy apps intended for children in the market, but many of them are expensive, not intuitive for younger children, or too simplistic for therapists. This project aims to create a one-stop-shop application for speech therapy that is useful to children, therapists, researchers, and caregivers. The major purpose is to create an affordable application with a dynamic user-interface system that adjusts its content for individuals. The project will also encrypt user information and provide a system for protecting patient data and authenticating users.

=Deliverables=
 * A complete user interface for the application including but not limited to: a login screen, menu screen, help menu, lessons screen, and data viewing screen.
 * A system to display different information depending on user types.
 * Complete integration with the existing database system and java backend.
 * An audio analyzer incorporated into lessons screen utilizing Google's Speech-to-Text API.
 * A security overhaul and expanded authentication system.

=Design= This project will utilize Angular as the programming framework for the user interface. The project's backend runs on Java and accesses its databases hosted on Google Cloud through MySQL queries. Additionally, Google's Speech-to-Text API will be used to parse audio and return feedback during lessons.

Specifications
 The user ID and password data must be encrypted The user interface should be able to check if credentials input are valid User Interface must be intuitive enough that children can use it User interface must be able to call database wrapper functions Certain parts of the user interface should only be accessible by specific user types User interface should be able to separate voices using Google Speech-To-Text API User interface should load the correct records accessible to that user The user interface should ensure data can only be changed by valid users</li> Patient data must be encrypted</li> </ul>

Alternative Designs
<ul> Use React instead of Angular</li> <ul> Not as expansive and hinders expandability</li> </ul> Use Javascript as the frontend</li> <ul> More lightweight than React or Angular but loses many features including mobile porting</li> </ul> Use another server service other than Google Cloud</li> <ul> Less complex but lose access to features such as the Speech-to-Text API</li> </ul> </ul>

=Project Learning= <ul> Google Cloud</li> Angular</li> Typescript</li> Maven</li> Java</li> Google Speech-to-Text API</li> MySQL</li> Authentication</li> Encryption</li> <li>GitHub</li> </ul>

=Team Members=

=Additional Documentation=

Project Schedule

Schedule v1.0

Meeting Minutes

Minutes: 9/11/19 Minutes: 9/20/19 Minutes: 9/27/19 Minutes: 10/4/19 Minutes: 10/11/19 Minutes: 10/25/19

Presentations