Android application that allows you to send and read messages using voice commands.
-
Text to speech :
react-native-tts
-
Speech to text :
react-native-voice
The program has a server side and a client side so we will need to perform separate installations.
Open first console in the main path VoiceTranslate \ server
and install node modules with the command
npm install
- then, enter the command
node index.js
to run the server.
Open a second console in the main path VoiceTranslate \ finalProject
and install node modules with the command
npm install
- then, enter the command
npx react-native start
to run the metro.
Open a third console in the main path VoiceTranslate \ finalProject
and enter the command
npx react-native run-android
to run the program.
To connect to a socket for communication between the server side and the client, enter an IPV4 address of the device, in line 15, in the following file -
VoiceTranslate \ finalProject \ src \ screens \ AuthenticationScreen.js
In the next command
const socket = io ("http: // HERE: 3000");
src
asyncStorage
components
AssistButton.js
: main component, responsible for managing the main activity.FloatingButton.js
: component inside the home screen, used to display the settings and a logout button.LoadingSpinner.js
: cComponent responsible for the rotating spinner to display a user indication to the TTS output.SoundWave.js
: Wave animation component, will turn on when every time the TTS will stop (indication use).
dataBase
:FireBase.js
: component responsible for the fireBase database.
images
router
RouterInitializer.js
: responsible for booting the router using props and asynchronous storage.Router.js
: receive props as a parameter from the routeInitializer screen and route the user accordingly.
screens
AuthenticationScreen.js
: responsible for linking the user to the messaging app.HomeScreen.js
: holds the following components - AssistButton and FloatingButton.ReadManual.js
: responsible for displaying the application manual in case of reading a message.WriteManual.js
: responsible for displaying the application manual in case of sending a message.SettingsScreen.js
: holds the features and the manual of the application.SignIn.js
: responsible for the user entering the application, works in front of the database.SignUp.js
: responsible for registering the user for the application using the database.
styles
utilities
assistButtonUtilities.js
: contains Voice Assistant vocabulary, regular expressions, and user input comparison commands.
dist
: folder that holds the app site design.index.js
:responsible for the messaging app and the app website.