Giter Club home page Giter Club logo

webapp's Introduction

Single-page chat with Tinode

Single-page web chat application built with Tinode. The app uses React, Google's material design fonts and icons. The Tinode javascript SDK has no external dependencies. Overall it's a lot like open source WhatsApp or Telegram web apps.

The app is about 200KB minified and gzipped. That includes all dependencies (React, ReactDOM), fonts, graphics, css etc.

Although the app is generally usable, keep in mind that this is work in progress. Some bugs probably exist. The app was tested in the latest Chrome & Firefox only. NPM package is available at https://www.npmjs.com/package/tinode-webapp.

Try possibly newer or older version live at https://web.tinode.co/. For passwords for demo accounts and other instructions see here.

Getting support

Internationalization

The app is fully internationalized using React-Intl. The UI language is selected automatically from the language specified by the browser. A specific language can be forced by adding hl=XX parameter to the URL, i.e. https://web.tinode.co/#?hl=ru.

As of the time of this writing the following translations exist: English, Russian, Simplified Chinese. More translations are welcome. Send a pull request with a json file with translated strings. Take a look at English, Russian, or Simplified Chinese translations for guidance.

Missing functionality

  • Previews not generated for videos, audio, links or docs.
  • No end-to-end encryption.
  • Emoji support is weak.

Other

Push notifications

If you want to use the app with your own server and want web push notification to work you have to set them up:

  • Register at https://firebase.google.com/, set up the project if you have not done so already.
  • Open https://console.firebase.google.com/, navigate to your project the to Cloud Messaging.
  • Locate firebase-init.js in the root folder of your copy of this web app. Get Sender ID and Web Push certificate from https://console.firebase.google.com/: copy Sender ID (Project Settings -> Cloud Messaging, "Sender ID") to messagingSenderId field, copy Web Push certificate (Project Settings -> Cloud Messaging -> Web configuration -> Web Push certificates) to messagingVapidKey field.
  • Copy Google-provided server key to tinode.conf, see details here.

Responsive design

Desktop screenshot

Desktop web: full app

Mobile screenshots

Mobile web: contacts Mobile web: chat Mobile web: topic info Mobile web: start new chat

webapp's People

Contributors

linsui avatar maximbukanov avatar npmcdn-to-unpkg-bot avatar or-else avatar riandyrn avatar

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.