Skip to content

IBM Watson Text To Speech implementation with NodeJS, MySQL and React

Notifications You must be signed in to change notification settings

viniciusbsneto/text-to-speech

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 

Repository files navigation

IBM Watson Text To Speech

IBM Watson Text To Speech

GitHub language count Repository size GitHub last commit License Stargazers made by viniciusbsneto

Status: Core Finished 🚧 Improving UI... 🚧

AboutFeaturesPending (to do)How it worksTech StackAuthorLicense

💬 About

IBM Watson Text To Speech


💡 Features

  • Add text comment
  • Listen to speech (text comment converted into audio)
    • Using IBM Watson Text To Speech from IBM Cloud Services
  • Audio player
    • Play, stop and resume speech

🛠️ Pending (in progress...) ⏳

  1. Improve UI
  • Add UI feedback while comment text is being converted to audio.
  1. Responsive Design
  • Application is not entirely responsive yet. Still working on that.
  • Layout is now responsive.
  1. Tests
  • Write tests with Jest. I should be pushing some tests very soon.
  1. Improve performance
  • Look for re-rendering effects and eliminate them.

📌 Pre-requisites

Before you begin, you will need to have the following tools installed on your machine: [Git] (https://git-scm.com), [Yarn] (https://yarnpkg.com/), [Docker] (https://www.docker.com/) In addition, it is good to have an editor to work with the code like [VSCode] (https://code.visualstudio.com/)

Running the application

# Clone this repository
$ git clone git@github.com:viniciusbsneto/text-to-speech.git

Back-end

# Run MySQL docker container with parameters <database_name> and <database_user_password> of your choice
$ docker run -p 3306:3306 --name <container_name> -e MYSQL_ROOT_PASSWORD=<database_user_password> -d mysql:latest

# Check if the container has started
$ docker ps

# If it hasn't been started, run:
$ docker start <container_name>

# Enter MySQL container
$ docker exec -it <container_name> bash

# Access MySQL terminal with root user
$ mysql -u root -p

# Create a database
CREATE DATABASE <database_name>;

# MySQL 8 (latest) has caching_sha2_password as an authentication method by default. NodeJS has not support for it yet.
# mysql_native_password should be used. Substitute <password> for a password of your choice in the following query and run it.
# Root user should not be used, but for now it's ok for the purpose of this application. DO NOT REMOVE STRING MARKS.
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '<password>';
FLUSH PRIVILEGES;

# Access the back-end project folder and open it in a code editor
$ cd text-to-speech/backend

# Set ormconfig.json file with your information (username, password, database)

# Rename .env.example file to .env and provide your API Key and API URL of your IBM Watson Text To Speech Service instance.

# Install dependencies
$ yarn

# Start the application
$ yarn dev:server

# Yarn script will start the application at http://localhost:3333

Front-end

# Access the front-end project folder
$ cd text-to-speech/frontend

# Install dependencies
$ yarn

# Start the application
$ yarn start

# Yarn script will start the application at http://localhost:3000

🧰 Tech Stack

The following tools were used in the construction of the project:

Text To Speech Web Application

See the file package.json

Utilitários


🤝 How to contribute

  1. Fork the project.
  2. Create a new branch with your changes: git checkout -b my-feature
  3. Save your changes and create a commit message telling you what you did: git commit -m" feature: My new feature "
  4. Submit your changes: git push origin my-feature

🧑‍💻 Author

Vinícius Neto


Linkedin Badge Gmail Badge


📝 License

This project is under the license MIT.

Made with love by Vinícius Neto 👋🏽 Get in Touch!

About

IBM Watson Text To Speech implementation with NodeJS, MySQL and React

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published