Skip to content

Latest commit

 

History

History
170 lines (137 loc) · 4.03 KB

README.md

File metadata and controls

170 lines (137 loc) · 4.03 KB

Voicefy

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.

Note : Navigate to client-ui folder for react app

⚙️ Features

  • User Authentication
  • Analytics
  • Cloud storage
  • Text to speech
  • Audio player

📸 Screenshots

Imgur Imgur
Imgur Imgur
Imgur Imgur
Imgur

Built With 🛠

  • 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

Prerequisites

Getting Started

  • 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

GraphQL Queries

  1. Login
  mutation {
    login(options:{
      password:"fgdhgfh",
      username:"gdfbfg"
    }){
      errors{
        field
        message
      }
      user{
        username
      }
    }
  }
  1. Register
mutation {
    register(options:{
      password:"jknbjklk",
      username:"hjuhbmn kjbhvbnm,,mknbknjmn m"
    }){
      errors{
        field
        message
      }
      user{
        username
      }
    }
  }
  1. Analytics
query total {
  analyticsTotalSavedVoices
}

query totalTotalVoicesUsed {
  analyticsTotalVoicesUsed {
    key
    count
  }
}

query totalLanguagesUsed {
  analyticsTotalLanguagesUsed {
    key
    count
  }
}

query totalGenderUsed {
  analyticsTotalGenderUsed {
    key
    count
  }
}

query totalServicesUsed {
  analyticsTotalServicesUsed {
    key
    count
  }
}

Isolated routes

  1. S3 Image Upload
# File accepted as body
http://localhost:4000/upload
  1. 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/........
}