
Chat21 is the core of the open source live chat platform Tiledesk.com.
Introduction
Chat21-cloud function is the backend module required for the operation of the other chat21 modules.
- Send a direct message
- Send a group message
- Create a conversation for each message
- Send the push notification for direct and group message
- Send an info message to notify the creation of a group or a member joining
Pre requisites
You can find more info about Firebase Functions here https://firebase.google.com/docs/functions/get-started
Project building
- Clone or download this repo from github
- Run from command line:
cd functions
npm install
Project setup
- Login to Firebase CLI with
firebase login. If you are not in localhost run firebase login --no-localhost
More info here https://firebase.google.com/docs/cli/
- Set up your Firebase project by running
firebase use --add, select your Project ID and follow the instructions.
Deploy
Deploy to Firebase using the following commands:
- Go in the project root directory with
cd ..
- Deploy with
firebase deploy
You can now see the deployed functions on the Firebase Console under Functions menu.
Tips
Run with Docker
If you prefer you can use a pre-built docker image to deploy the cloud functions to the Firebase project:
Run:
docker run -it chat21/chat21-cloud-functions sh
After that follow the "Project setup" and "Deploy paragraphs.
Test
Send your first message
- Create a new user on the Firebase Console under Authentication Menu.
- Select Email/Password for Authentication Provider
- Click on "Add New User" and populate Email and Password field with for example : email = a@a.com, password = 123456
- Get a JWT token calling JWT Authentication method as described here JWT Authentication
- Send a new message using Send Message API with JWT Authentication as described here Send message
Advanced Setup Options
Read the Setup Options page
REST API
Read the REST API page