ChainChat is a collaborative text editor developed with a focus on real-time collaboration and decentralized communication. Inspired by popular tools like Google Docs, the project was initiated with the aim of creating a similar collaborative platform from scratch. Leveraging Conflict-Free Replicated Data Types (CRDT) ensures synchronization among users, while WebRTC technology enables direct messaging capabilities, fostering a private and decentralized environment for document collaboration. To delve deeper into the design and development journey of ChainChat, readers are encouraged to explore the accompanying case study .
-
Clone the repository
First, clone the repository to your local machine:
git clone https://github.com/chainchat-team/chainchat-app.git
-
Install the dependencies
Navigate to the project directory and install the dependencies:
cd chainchat-app npm install
-
Start the development server
Start the Vite development server:
npm run dev
This will start the server and open the application in your default web browser. If it doesn't open automatically, you can navigate to
http://localhost:3000
in your web browser.
You can also run the application using Docker:
-
Build the Docker image
First, build the Docker image:
docker build -t chainchat . && docker image prune -f
This will create a Docker image named
chainchat
. -
Run the Docker image
Then, run the Docker image:
docker run --rm -p 3000:3000 chainchat
This will start the application and make it available at
http://localhost:3000
.