Giter Club home page Giter Club logo

google-summer-of-code's Introduction

google-summer-of-code

Introduces SpeechToText capabilities into Rocket.Chat as a standalone Rocket.Chat App

This summer, I was pleased to get selected for Google Summer of Code'21 under the organization Rocket.Chat. Working under the organization, my project was to Introduce SpeechToText capabilities into Rocket.Chat as a standalone Rocket.Chat App.

๐Ÿ“™ Abstract

Rocket.Chat is a modern team chat and collaborating platform written in full-stack JavaScript offering a full featured rich team chat experience on modern browsers, comparable to Slack and Microsoft Teams. Mobile and desktop clients run on iOS, Android, MacOSX, Windows, and Linux. It is one of the largest active open source (permissive MIT source license) nodeJS communications platform communities on GitHub with more than 12Million users worldwide.

Rocket.Chat users have an option of sending audio files or live audio messages to a room or a chat. My project introduces a new native Rocket.chat app that utilises the capabilities of Rocket.Chat.Apps-Engine and allows the user to be able to not only transcribe the audio files but also save the transcript as metadata. This whole functionality is built packaged into a Rocket.Chat.App, which can be configured to use the transcription provider of user's choice.

๐Ÿ“ Deliverables

The deliverables of the project are as follows:

  • To be able to transcribe the audio files on server side & store the transcript metadata on demand.

  • Create an efficient API to be able to queue/get transcripts.

  • Design & Develop an interactive app interface.

  • Provide the User and option to choose from a variety of API providers for trascription. Currently supported providers are:

    • Assembly AI.
    • Mcirosoft Cognitive Services .
    • & Rev AI.
  • Write flexible code so that it's easy to add support for a new provider in the future.

All of the listed deliverables were completed within the GSoC period. YAY !! ๐ŸŽ‰

๐Ÿ“ฆ Working product

The work can be found here - App on Github. Please refer to the Readme.md for setup.

๐Ÿš€ Contributions

This is a standalone app built over Rocket.Chat.Apps-Engine & Rocket.Chat.Apps-Cli, which can be installed for free from the Rocket.Chat Apps marketplace. It is not a part of the core Rocket.Chat but lives inside the codebase, been provided with the maintainer rights i didn't need to create PR's so here are the commits that sum up the project.

Pull requests

Commit Link Description Status
Setup [New] Instantiated a boilerplate app using Rocket.Chat CLI Approved โœ…
Webhook APi & User settings [New] Added user settings and created Webhook for provider Approved โœ…
Message helpers [New] Helper functions for creating and sending status messages Approved โœ…
Provider Interface [New] A new interface that can be implemented whenever an API provider is to be added Approved โœ…
JWT-implementation [New] custom implementation of JWT using crypto module for file security Approved โœ…
Provider [Add] Added AssemblyAI support Approved โœ…
Provider [Add] Added Microsoft Cognitive Services support Approved โœ…
Provider [Add] Added support for Rev AI Aproved โœ…
Test Mode [New,Improve] Added a new test mode setting and improved error handling Aproved โœ…
Slash command [Refactor] Refactored slash commands Aproved โœ…
Bug Fixes [Improve,Refactor] Added error handling layers and comments for readability] Aproved โœ…

Apart from these contributions, I have contributed to other Rocket.Chat projects. They can be summarized as:

Project Reference
Rocket.Chat - main repo Pull requests
Rocket.Chat.Fuselage Pull requests

Mentors

I would like to thank my mentors Marcelo Schmidt & Douglas Gubert for helping me reach this milestone and providing me this opportunity. ๐Ÿ˜„๐Ÿ˜„

I have not only learned about the Open Source culture and how to write good code but also, learned how the industry works and the import

I would also like to thank Priya Bihani for her constant support.

๐Ÿ”— Links

Student Kartik Gupta
Organization Rocket.Chat
Project Speech To Text
GitHub Kartik18g
LinkedIn Kartik Gupta
Twitter Gkaartik
Email [email protected]

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.