This was the last week of project development. The integration between the database and the web application is now complete. In addition, the text-to-speech API was replaced.
The database was implemented using Cloud Firestore, a flexible and scalable NoSQL cloud database on Google Cloud infrastructure, to manage the data across client and server development. Within our database, we maintain four primary collections:
When Alix initializes, it requests data from the database. Consequently, adding new questions to the graphical interface requires a reboot of the robot for the updated data to take effect.
View of Cloud Firestore database
The graphical interface was developed using Angular and comprises three views: login, dashboard and question form.
Login view
Dashboard Page: this is the default view the user is taken after logging into the application. This view serves as the hub for data visualization. It features a dashboard displaying an overview of all lessons available, showcasing the final grade and duration taken to complete each lesson. Additionally, there is a “Notifications” drop-down list that is updated in real-time with the student’s absence information, sorted from the most recent to the oldest. The side navigation bar allows easy navigation between the dashboard, question form and logout.
Dashboard view
Question Form Page: it can be accessed through the “Question Form” button on the navigation bar. On this view users can input new questions and corresponding answers into the database via the submit button.
Custom Question view
Upon completing interactions with the dashboard, and optionally adding new questions to the system, users can log out from the the application using the “Logout” button.
We updated the interface used for text-to-speech conversion. Initially, we employed a Python library to connect with Google Translate's text-to-speech API, but the generated speech lacked appeal and was sluggish.
To enhance the quality of speech synthesis, we transitioned to a different approach using an API powered by Google AI. Leveraging the Cloud Text-to-Speech API, we gained access to multiple speech models developed by Google. This shift aimed to produce more natural-sounding speech audio, enhancing the overall user experience.