Skip to content

πŸ‘₯ConvoRoom is a real-time chat app where users can jump into rooms, chat instantly, and get smart help from AI.

License

AdarsHH30/ConvoRoom

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

ConvoRoom

Overview

ConvoRoom is a real-time communication platform that facilitates collaborative conversations enhanced with AI assistance.

Technologies Used

Frontend

  • React with Vite for fast development
  • Tailwind CSS for styling
  • WebSocket client for real-time communication

Backend

  • Django framework
  • Langchain with Google Generative AI (Gemini)
  • MongoDB for message storage

Project Structure

ConvoRoom/
β”œβ”€β”€ backend/
β”‚   β”œβ”€β”€ api/ - API endpoints and WebSocket consumers
β”‚   └── requirements.txt - Python dependencies
β”œβ”€β”€ frontend/
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ components/ - React components
β”‚   β”‚   β”œβ”€β”€ pages/ - Main application pages
β”‚   β”‚   └── css/ - Style sheets
β”‚   β”œβ”€β”€ public/ - Static assets
β”‚   └── package.json - Node.js dependencies
β”œβ”€β”€ .env - Environment variables
β”œβ”€β”€ .gitignore
└── README.md

Getting Started

Prerequisites

  • Python 3.x
  • Node.js 16+ and npm
  • MongoDB database
  • Google API key for Gemini AI

Installation

  1. Clone the repository
git clone https://github.com/AdarsHH30/ConvoRoom-AI.git
cd ConvoRoom
  1. Set up Python environment
python -m venv env
source env/bin/activate  # On Windows: env\Scripts\activate
cd backend
pip install -r requirements.txt
  1. Install Node.js dependencies
cd ../frontend
pnpm install

Configuration

Create a .env file in the backend directory with necessary environment variables:

DATABASE_URL=mongodb://username:password@host:port/database
GOOGLE_API_KEY=your_google_gemini_api_key
SECRET_KEY=your_django_secret_key

Frontend Configuration

Create a .env file in the frontend directory with these variables:

VITE_API_URL=http://localhost:8000/api
VITE_WS_URL=ws://localhost:8000/ws

Adjust the URLs according to your production environment when deploying.

Usage

  1. Start the backend server:
cd backend
python manage.py runserver
  1. In a separate terminal, start the frontend development server:
cd frontend
pnpm dev
  1. Open your browser and navigate to http://localhost:5173 (or the port shown in your terminal)

  2. Create a new room or join an existing room using its ID

Features Overview

Home Page

  • Create a new room instantly with one click
  • Join existing rooms by entering a room ID
  • Access your recently visited rooms

Chat Room

  • AI assistance by addressing messages to the AI
  • Code sharing with syntax highlighting
  • Markdown formatting in messages
  • Copy message content with a single click

Contact

Adarsh Hegde
LinkedIn: https://www.linkedin.com/in/adarsh30/
Portfolio: https://www.adarshhegde.tech/
GitHub: https://github.com/AdarsHH30
Twitter: https://x.com/Adarsh13673751

About

πŸ‘₯ConvoRoom is a real-time chat app where users can jump into rooms, chat instantly, and get smart help from AI.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •