Voicefy is a web-application that allows users to generate best audio experiences with cloud services and store them in cloud. The application uses Modern frontend and backed development tools. The application handles user authentication and uses Relational database to store data.
- User Authentication
- Analytics
- Cloud storage
- Text to speech
- Audio player
- NodeJS - Node.js is an open-source, cross-platform, back-end JavaScript runtime environmen
- Postgres SQL - A relational database management system emphasizing extensibility and SQL
- AWS
- AWS Polly - Amazon Polly is a cloud service by Amazon Web Services, a subsidiary of Amazon.com, that converts text into spoken audio.
- AWS S3 - Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services
- AWS RDS - Amazon Relational Database Service is a distributed relational database service by Amazon Web Services.
- AWS EC2 - Amazon Elastic Compute Cloud (Amazon EC2) provides scalable computing capacity in the Amazon Web Services (AWS) Cloud.
- IBM Watson - cloud service that enables you to convert written text into natural-sounding audio in a variety of languages and voices
- GraphQL - GraphQL is an open-source data query and manipulation language for APIs, and a runtime for fulfilling queries with existing data
- Next js - Next.js is an open-source web development framework created by Vercel enabling React-based web applications
- NodeJS version 14+
- PostgresSQL
- AWS
- Install and run
yarn install
# Followed by
npm run watch
# Followed by
npm run dev
- For Migration
npm run create:migration
- GraphQL Playground
http://localhost:4000/graphql
- Login
mutation {
login(options:{
password:"fgdhgfh",
username:"gdfbfg"
}){
errors{
field
message
}
user{
username
}
}
}
- Register
mutation {
register(options:{
password:"jknbjklk",
username:"hjuhbmn kjbhvbnm,,mknbknjmn m"
}){
errors{
field
message
}
user{
username
}
}
}
- Analytics
query total {
analyticsTotalSavedVoices
}
query totalTotalVoicesUsed {
analyticsTotalVoicesUsed {
key
count
}
}
query totalLanguagesUsed {
analyticsTotalLanguagesUsed {
key
count
}
}
query totalGenderUsed {
analyticsTotalGenderUsed {
key
count
}
}
query totalServicesUsed {
analyticsTotalServicesUsed {
key
count
}
}
- S3 Image Upload
# File accepted as body
http://localhost:4000/upload
- TTS Voice Routes
# file accepted as body
http://localhost:4000/tts
# Required body
{
"provider":"aws", # aws or ibm
"ssmlText" : "Testing voice",
"VoiceId" : "Aditi",
"lan" :"arb"
}
# Response
{
"success" : true,
"url" : "https://............s3.ap-south-1.amazonaws.com/........
}