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.gitand 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 startTo 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.jsQuestions about running the demo? Open an issue. We're here to help ✌️