All Projects → chat21 → chat21-ionic

chat21 / chat21-ionic

Licence: AGPL-3.0 License
A ionic v5 and Angular 8 desktop and mobile chat

Programming Languages

typescript
32286 projects
SCSS
7915 projects
HTML
75241 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to chat21-ionic

Emitter
High performance, distributed and low latency publish-subscribe platform.
Stars: ✭ 3,130 (+4436.23%)
Mutual labels:  mqtt, realtime
Rtb
Benchmarking tool to stress real-time protocols
Stars: ✭ 35 (-49.28%)
Mutual labels:  mqtt, realtime
Chat21 Ios Sdk
DEPRECATED
Stars: ✭ 15 (-78.26%)
Mutual labels:  realtime, instant-messaging
Rabbitmq Server
Open source RabbitMQ: core server and tier 1 (built-in) plugins
Stars: ✭ 9,064 (+13036.23%)
Mutual labels:  mqtt, rabbitmq
Qiscus Sdk Android
Qiscus provide everything you need to power up your app with chats. And it's now made simple.
Stars: ✭ 175 (+153.62%)
Mutual labels:  mqtt, realtime
raspberrypi-boot
simple spring boot application running on raspberry pi measuring data via bmp085 sensor
Stars: ✭ 17 (-75.36%)
Mutual labels:  mqtt, rabbitmq
Streamsx.messaging
This toolkit is focused on interacting with popular messaging systems such as Kafka, JMS, XMS, and MQTT. After release v5.4.2 the complete toolkit will be deprecated. See the README.md file for hints to alternative toolkits.
Stars: ✭ 31 (-55.07%)
Mutual labels:  mqtt, rabbitmq
Frigate
NVR with realtime local object detection for IP cameras
Stars: ✭ 1,329 (+1826.09%)
Mutual labels:  mqtt, realtime
Rabbitmq Mqtt
RabbitMQ MQTT plugin
Stars: ✭ 169 (+144.93%)
Mutual labels:  mqtt, rabbitmq
src
闪客服
Stars: ✭ 60 (-13.04%)
Mutual labels:  livechat, customer-service
onchat-web
A simple, beautiful, mobile-first instant messaging progressive web application.
Stars: ✭ 138 (+100%)
Mutual labels:  realtime, instant-messaging
modbus4mqtt
Modbus TCP <-> MQTT glue. YAML configuration. Robust.
Stars: ✭ 21 (-69.57%)
Mutual labels:  mqtt
ha-watermeter
Data provider for smartmeter watermeter.
Stars: ✭ 20 (-71.01%)
Mutual labels:  mqtt
Google-Assistant-Samsung-Smart-TV-Integration
Use Google Assistant as a remote for your Samsung Smart TV. There is no need for a Logitech Harmony device.
Stars: ✭ 26 (-62.32%)
Mutual labels:  rabbitmq
angular-progress-bar
This component allow you to easy incorporate progress-bar to angular/ionic project, providing binding and color options
Stars: ✭ 26 (-62.32%)
Mutual labels:  ionic3
aiorabbit
An AsyncIO RabbitMQ client for Python 3
Stars: ✭ 18 (-73.91%)
Mutual labels:  rabbitmq
cordova-plugin-today-widget
Add a today widget app extension target to your cordova project.
Stars: ✭ 51 (-26.09%)
Mutual labels:  ionic3
emqx-docs-en
EMQ X Broker Documentation
Stars: ✭ 12 (-82.61%)
Mutual labels:  mqtt
sunricher-wifi-mqtt
control Sunricher LED devices using MQTT
Stars: ✭ 14 (-79.71%)
Mutual labels:  mqtt
SuperLEDstrip
No description or website provided.
Stars: ✭ 13 (-81.16%)
Mutual labels:  mqtt

npm version

🚀 Do you want to install Tiledesk on your server with just one click?

Use Docker Compose Tiledesk installation guide

Chat21 is the core of the open source live chat platform Tiledesk.com.

Features

With Chat21-ionic you can:

  • Send a direct message to a user (one to one message)
  • View the messages history
  • The read receipts feature allows your users to see when a message has been sent, delivered and read
  • Conversations list view with the last messages sent (like Whatsapp)
  • With the Presense Manager you can view when a user is online or offline and the inactivity period
  • Responsive design (desktop and mobile)
  • View the user profile with fullname and email
  • Login with email and password (Use firebase email and password authentication method )
  • Signup with fullname, email, password and profile picture
  • Contacts list view with fulltext search for fullname field

Live Demo

Visit https://web.chat21.org/ to see a live demo of chat21-ionic.

A screenshot of chat21-ionic demo

A screenshot of chat21-ionic demo

Documentation

In progress git

Prerequisites

  • Install nodejs: https://nodejs.org/en/download/
  • Install Ionic CLI: npm install -g ionic
  • Install Cordova : npm install -g [email protected]
  • A Firebase project. Create one free on https://firebase.google.com
  • "Chat21 Firebase cloud functions" installed. Instructions:https://github.com/chat21/chat21-cloud-functions

Installation

  • Install the latest stable release. Check on Github page the last release under the Releases tab and then run
  • git clone https://github.com/frontiere21/chat21-ionic.git --branch <LATEST-RELEASE-VERSION>
  • cd chat21-ionic
  • Build running: npm install

Firebase

Configuration

  • Configure the file environment.ts in src/environments folder:

    export const environment = {
        supportMode: false,
        production: false,
        remoteConfig: true,
        remoteConfigUrl: '/chat-config.json',
        chatEngine: "mqtt", // OR YOUR CUSTOM CHAT ENGINE
        updloaEngine: "native", // OR YOUR CUSTOM UPLOAD ENGINE
        pushEngine:"none", // OR YOUR CUSTOM PUSH ENGINE
        fileUploadAccept:"*/*",
        logLevel":"<YOUR-PREFERRED-LOG-LEVEL>",
        supportMode: false,
        firebaseConfig: {
            tenant:"tilechat",
            apiKey: '123ABC..',
            authDomain: 'XYZ.firebaseapp.com',
            databaseURL: 'https://XYZ.firebaseio.com',
            projectId: 'XYZ',
            storageBucket: 'XYZ.appspot.com',
            messagingSenderId: '123456',
            appId: 'CHANGEIT',
            chat21ApiUrl: '<YOUR_CHAT21_CLOUD_FUNCTION_FIREBASE_ENDPOINT>'
        },
         chat21Config: {
            "appId": "tilechat",
            "MQTTendpoint": "mqtt://<YOUR-MQTT-ENPOINT>",
            "APIendpoint": "http://<YOUR-MQTT-API-ENPOINT>"
        },
        "apiUrl": "https://<YOUR-TILEDESK-API-URL>",
        "baseImageUrl": "https://<YOUR-BASE-IMAGE-URL>",
        "dashboardUrl": "https://<YOUR-DASHBOARD-URL>"
        "wsUrl": 'ws://' + window.location.hostname + '/ws/',
    }
    };
    
  • logLevel: The Chat21-ionic supports 4 log levels. The order is as follows: Error < Warn < Info < Debug

  • fileUploadAccept: The Chat21-ionic allows you to manage the type of files that can be uploaded. By default, all file types are accepted.

  • wsUrl: allows you to know in real time the agent's availability status, the agent's busy status and the number of unassigned conversations for a selected project

  • supportMode: if set to true it allows you to view the list of contacts from which you can make direct conversations and the item at the top of the list of conversations that shows the number of unassigned conversations of a selected project and that the agent can view and take over by clicking on it

Push notification

(Optional) Authenticate with email password

  • Config Firebase auth In the Firebase Console open the Authentication section > SIGN IN METHOD tab you need to enable the Email/password Sign-in Provider and click SAVE. This will allow users to sign-in the Web app with their Email https://firebase.google.com/docs/auth/

Run App on Browser

  • Now you will need to serve the app. Run: ionic serve in the terminal.

Add browser platform and build it

  • Run: cordova platform add browser@latest
  • Run: ionic cordova build browser

Deploy

Deploy on a Web Server (Apache or Nginx)

Copy the content of the directory platforms/browser/www to your WebServer public dir.

Deploy on Firebase hosting

  • Install the Firebase CLI. run: npm install -g firebase-tools
  • Run: firebase login (these steps can be avoided if you have already done before)
  • Change directories in the terminal to your desired project directory(run: cd platforms/browser) and run: firebase init
    • select hosting (press Spacebar to select) and press return
    • select your project and press return
    • answer the following questions:
      • "what do you want to use as your public directory?" www and press return
      • "configure as a single-page app?" N and press return
      • "file www/index.html alredy exists. Overwrite?" N and press return
  • Run: firebase deploy
  • In your firebase consol click hosting and click on link your project More info here https://firebase.google.com/docs/hosting/quickstart?authuser=0

Run on Android

  • Run on simulator : ionic cordova run android
  • Run on device : ionic cordova run android --device

Run on iOS

  • Run on simulator : ionic cordova run ios
  • Run on device : ionic cordova run ios --device

Run with docker

To run Chat21-ionic on port 8080 run:


curl https://raw.githubusercontent.com/chat21/chat21-ionic/master/env.sample --output .env

nano .env #configure .env file properly

docker run -p 8080:80 --env-file .env chat21/chat21-ionic

Branding with Docker

If you want to customize logos and assets you can mount a docker volume and attach it to the assets folder. After that you can override the assets files into the docker volume.

Example:

docker run -p 8080:80 --env-file .env --mount source=chat21-ionic-assets-vol,destination=/usr/share/nginx/html/assets  chat21/chat21-ionic

Autologin

To auto login pass the JWT token as a query parameter of your Chat url as in the following example:

"http://localhost:8100/#/conversation-detail?jwt=<JWT_TOKEN>"
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].