/oorja

Video-Voice chat application with realtime collaborative features. Quick to use, Extensible using react components 🙌

Primary LanguageJavaScriptOtherNOASSERTION

oorja

Alpha version

CircleCI Join the chat at https://gitter.im/oorja-io/Lobby

oorja is a quick to use video/voice chat application with realtime collaborative features.

To describe this project in a simple, straighforward way:
  • The objective is to collaborate quickly, securely and privately.

  • By clicking the create room button the app creates a room with a unique link. Only those with this unique link (and password if set) can join the room. Simply share this link and you are set.

  • Before joining the room you may test your webcam/mic with option to mute them.

  • Sign in is optional and not restriced to one service. Anyone with access to the room can join anonymously or by using their existing account from Twitter, Facebook, Google, Github etc.

  • This is where things get exciting. Now that you are in the room, There is a concept of mini-applications called tabs each of which add a unique capability to the room.

    • Video chat with screensharing

    • Quillpad, a synced rich text editor

    • Chat, simple and private. supports some markdown as well

    • CodePad with syntax highligting. synced realtime between all participants

    • Discover Tabs (Add tabs dynamically to the room when needed with a click of a button 🙌)

  • Some tabs are added by default and more can be added later. In future there will be more customization available when creating the room. Also, most of the current tabs are strictly p2p, i.e. no data in the CodePad/ Chat / QuillPad etc. is stored on the server. The content is synced peer to peer between the room participants.

  • The tabs are react components using a simple but powerful mini-api (using props and some event listeners) to add more capabilities to the room. This is the coolest feature of this project. It aids in easily configurable rooms during creation with features relevant to your purpose, while also being able to add more later (they are loaded dynamically, so only the required code is executed). It's exciting to think of the tabs people will develop leveraging the super easy p2p interace/api in oorja. Continue reading to know more about how you can contribute.

Note
  • oorja is built upon some of the latest technologies in modern web browsers namely WebRTC that enables p2p communication (It may not be supported in your browser eg. safari). Use Chrome or Firefox
  • If you are using chrome you will need to install the screensharing extension to be able to share your screen.

How to contribute ?

You are welcome to contribute! In order to do so please go through the following docs in the given order. Also, It's quite easy to make tabs (you only need to know some react, which can itself be picked up in a weekend).

  1. Project Setup
  2. Making a Tab

Donate ❤️

As mentioned earlier this is a personal project. There are no ads, tracking, premium paid features etc. To continue its development and finance the server costs of oorja.io I would really appreciate your financial backing

PayPal

1FzAAeMPxdBBhcuXH8XDfXKq5GTcBUncHT

Contact

Join the chat at https://gitter.im/oorja-io/Lobby

You can reach me at oorja.akshay@gmail.com or Twitter

About me