This is a feature-rich chat application built with React, Appwrite, Chakra UI and other modern technologies. The app allows users to engage in real-time messaging, create and manage group chats, update their profiles, and more.
VChat.preview.mp4
- Real-Time Messaging: Instant messaging with support for text, images, and voice messages.
- Group Chats: Create and manage group conversations with multiple participants.
- User Authentication: Secure registration and login functionality for user accounts (OAuth and Email)
- Profile Customization: Personalize your profile with avatars, and more.
- Multimedia Sharing: Share files, documents, and locations within the chat.
- Node.js and npm installed on your machine.
-
Clone the repository:
git clone https://github.com/VincentMukuna/vchat.git
-
Change to the project directory:
cd vchat -
Install dependencies:
npm install
-
Copy the
.env.examplefile to.env:cp .env.example .env
-
Install appwrite CLI:
npm install -g appwrite-cli
-
Open the Appwrite Console and make a new project.
-
Add a new web app platform you can name it anything e.g
Web, enter your local IP address (orlocalhost) in the hostname field. -
Copy the API endpoint and project ID from the Appwrite project settings and replace them in the
.envfile. -
Replace projectId and projectName in
appwrite.jsonwith your project's -
Create a database and copy its name and id and replace it in
appwrite.json. -
Login to appwrite from the cli
appwrite login
-
Deploy [UPDATE] You need to push the collections one by one in the following order: channels, group-messages, chat-messages, user-details, groups
appwrite push collections
-
Deploy buckets. Edit- Due to appwrite pricing changes you may have to deploy only one bucket then set all bucket config in
src\lib\config.tsto your bucketId.If you are using the free plan you can delete the other buckets and deploy only one. Copy the bucketId and replace it in
src\lib\config.tsfor all buckets.appwrite push buckets
-
Start the development server:
npm run devThis project is licensed under the MIT License.
For any questions or feedback, feel free to reach out at mukunavincent28@gmail.com.

