Read the full tutorial here: >> How to Build End to End Encrypted Chat App with CometChat
This demo uses:
- CometChat Pro 3.0.0
- CometChat UI Kit
- Firebase
- React.js
- Uuid
- Validator
- Node.js
- Dotenv
- Cors
- Express
- Virgil Crypto
- Virgil SDK
To run the client side code, please follow these steps:
- Head to CometChat Pro and create an account
- From the dashboard, add a new app called "e2e-encrypted-chat-app"
- Select this newly added app from the list.
- From the Quick Start copy the APP_ID, APP_REGION and AUTH_KEY. These will be used later.
- Navigate to the Users tab, and delete all the default users and groups leaving it clean (very important).
- Download the repository here or by running
git clone https://github.com/hieptl/e2e-encrypted-chat-app.git
and open it in a code editor. - Head to Firebase and create a new project
- Create a file called .env in the root folder of your project.
- Import and inject your secret keys in the .env file containing your CometChat and Firebase in this manner.
REACT_APP_FIREBASE_API_KEY=xxx-xxx-xxx-xxx-xxx-xxx-xxx-xxx
REACT_APP_FIREBASE_AUTH_DOMAIN=xxx-xxx-xxx-xxx-xxx-xxx-xxx-xxx
REACT_APP_FIREBASE_DATABASE_URL=xxx-xxx-xxx-xxx-xxx-xxx-xxx-xxx
REACT_APP_FIREBASE_STORAGE_BUCKET=xxx-xxx-xxx-xxx-xxx-xxx-xxx-xxx
REACT_APP_FIREBASE_PROJECT_ID=xxx-xxx-xxx-xxx-xxx-xxx-xxx-xxx
REACT_APP_FIREABSE_MESSAGING_SENDER_ID=xxx-xxx-xxx-xxx-xxx-xxx-xxx-xxx
REACT_APP_FIREBASE_APP_ID=xxx-xxx-xxx-xxx-xxx-xxx-xxx-xxx
REACT_APP_COMETCHAT_APP_ID=xxx-xxx-xxx-xxx-xxx-xxx-xxx-xxx
REACT_APP_COMETCHAT_REGION=xxx-xxx-xxx-xxx-xxx-xxx-xxx-xxx
REACT_APP_COMETCHAT_AUTH_KEY=xxx-xxx-xxx-xxx-xxx-xxx-xxx-xxx
- Make sure to exclude .env in your gitIgnore file from being exposed online.
- Run the following command to install the app.
npm install
npm run start
To run the server side code, please follow the below steps:
- Head to Virgil Security and create an account.
- From the dashboard, add a new app called "e2e-encrypted-chat-app"
- Select this newly added app from the list.
- Navigate to the E3Kit section and generate the environment variables. Those variables will be used in the following steps.
- Create a file called .env in the root folder of your project.
- Import and inject your secret keys in the .env file containing your Virgil Security in this manner.
- Make sure to exclude .env in your gitIgnore file from being exposed online.
- Cd to the project directory and run the following commands to install and run the app.
npm install
node index.js
Questions about running the demo? Open an issue. We're here to help βοΈ
- π CometChat Homepage
- π Create your free account
- π Documentation
- πΎ GitHub
- π₯ Firebase
- π· React.js
- β¨ Node.js
- β¨ Virgil Security