Skip to content
Instant messaging app with real-time language translation (Frontend code)
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore
Protocol.gif
README.md
action_cable.js
channel.html
cookies.js
index.css
index.html
index.js
languages.js
login.js
message.js
package-lock.json
translate.js
user.js
web_socket.js

README.md

Protocol

Protocol is a messaging app that translates languages in real time. For the first time, many people can communicate in different languages and each person will see all the messages translated in their own language automatically. Developed by J.D. Bean and Jeremy Gottfried. This project is unmaintained and is not seeking contributions at this time.

Motivation

Today we can message people all across the world in real time, yet one of the few remaining communication barriers is spoken language. Protocol makes it possible for people who speak different languages to have conversations in real time. No copying and pasting into Google Translate is required. Every message is translated automatically.

Screenshot gif

Tech/Frameworks used

  • JWT + bcrypt authentication and authorization
  • Vanilla JS frontend
  • Ruby on Rails backend
  • Web Sockets through Action Cable
  • Google Translate API

Installation and using the app

  1. Clone this repo
  2. Clone the backend repo at https://github.com/jdbean/protocol-backend
  3. Run bundle install on the backend repo.
  4. Run rails db:create and rails db:migrate on the backend repo.
  5. Alter the seed.rb file to add your own info.
  6. Set up your own Google Translate API credentials -- follow directions here: https://cloud.google.com/docs/authentication/production
  7. Run rails s on the backend repo.
  8. Run python -m SimpleHTTPServer 8000 on the frontend server
  9. Navigate to http://localhost:8000

Rails Backend API Docs

https://github.com/jdbean/protocol-backend

You can’t perform that action at this time.