Skip to content

ShayMe21/php-transcription-service

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Audio Transcription Service (PHP Microservices with Laravel/Lumen)

Prerequisites:

This sample app is a simulation of an audio transcription service. It consists of the following microservices:

  • Transcription API Gateway - a service that exposes an API POST /transcription which accept a request to transcribe an audio file. Each new request is put on a transcription queue using AWS SQS to be handled asynchronously in the backend. API Requests are authenticated using Authorization Bearer HTTP header and Auth0's Machine to Machine API Authorization.
  • Transcriber service - an auto-scaling service that uses AWS SQS and multiple workers. Each worker listens to the queue for transcription requests, and when there is a new request, the first available worker takes it off the queue, transcribes the audio and puts the result on the notification queue.
  • Notifier service - listens to the notification queue and when a transcription has been processed, it notifies the end user of the result via an email (for now). This could also be a push notification service on a native/web app.

The transcription and notifier services are not available publicly, they sit behind the Transcription API Gateway and communicate with each other and the SQS queues.

See individual Readme files in each service folder on how to setup and run each service.

Screenshots:

  1. Send a POST request to Transcription API. Transcription API

  2. Request is validated and sent to SQS. SQS

  3. After processing, notifier service read the request from notifier queue and sends an email notification. Email notification

About

Audio Transcription Service App

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages