Welcome to Chitchat, a comprehensive real-time messaging platform built with modern web technologies. Chitchat delivers a modern, full-featured messaging experience with powerful features for seamless communication, media sharing, and social connectivity.
Our Node.js-powered application delivers lightning-fast performance, real-time messaging capabilities, and a rich user experience that scales beautifully across all devices. Whether you're building a personal chat application or an enterprise communication solution, Chitchat provides the robust foundation you need.
Chitchat is built using cutting-edge technologies to ensure optimal performance, scalability, and maintainability:
Powerful server-side technologies for real-time communication
Reliable data persistence and file storage solutions
Modern frontend stack for responsive user interfaces
Chitchat comes packed with features that rival the most popular messaging platforms:
Before setting up Chitchat, ensure you have basic knowledge of:
This documentation is organized into comprehensive sections:
Setting up Chitchat is straightforward and works seamlessly across different operating systems. This section provides detailed installation instructions for Ubuntu, macOS, and Windows.
Step 1: Update System Packages
sudo apt update && sudo apt upgrade -y
Step 2: Install Node.js (Latest LTS)
# Install Node.js using NodeSource repository (Latest LTS)
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt-get install -y nodejs
# Verify installation
node --version
npm --version
Step 3: Install MySQL Server
# Install MySQL
sudo apt install mysql-server -y
# Secure MySQL installation
sudo mysql_secure_installation
# Start MySQL service
sudo systemctl start mysql
sudo systemctl enable mysql
Step 4: Install Git and Development Tools
sudo apt install git curl wget -y
Step 1: Install Homebrew (if not already installed)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Step 2: Install Node.js
# Install Node.js via Homebrew
brew install node
# Verify installation
node --version
npm --version
Step 3: Install MySQL
# Install MySQL via Homebrew
brew install mysql
# Start MySQL service
brew services start mysql
# Secure MySQL installation
mysql_secure_installation
Step 1: Download and Install Node.js (Latest LTS)
Step 2: Install MySQL (Latest GA)
Step 3: Verify Installation
# Open Command Prompt or PowerShell and run:
node --version
npm --version
mysql --version
Step 1: Download from CodeCanyon and Extract
# After purchasing, download the ZIP from CodeCanyon
# Extract the ZIP; you will see the 'chitchat-nodejs' folder
unzip chitchat-nodejs.zip
cd chitchat-nodejs
Step 2: Database Setup
# Login to MySQL
mysql -u root -p
# Create database
CREATE DATABASE chitchat;
# Exit MySQL
exit;
Step 3: Environment Configuration
Create a .env file in the root directory with the following configuration (sample):
APP_NAME=Chitchat
APP_PORT=3000
BASE_PATH=/
ASSETS_PATH=/assets
DB_HOST=localhost
DB_USER=root
DB_PASSWORD=password
DB_NAME=chitchat
DB_DIALECT=mysql
# For create default admin then you can remove it
ADMIN_NAME=Admin
ADMIN_EMAIL=admin@example.com
ADMIN_PASSWORD=123456789
Step 4: Install Dependencies
npm install
Step 5: Install Development Tools
# Install nodemon globally for development
npm install -g nodemon
# Install additional development dependencies
npm install --save-dev
# Seeder
npx sequelize-cli db:seed:all
Step 6: Start the Application
# For development (with auto-restart)
nodemon app.js
# For production
npm start
# or
node app.js
Local URLs
http://localhost:3000/messenger (sign up and log in)http://localhost:3000/admin/auth/login (admin@example.com / 123456789)🎉 Congratulations! Your Chitchat application should now be running at http://localhost:3000
1: Open chitchat-fronend-and-admin-nodejs directory that you downloaded from CodeCanyon.
2: Add the required database credentials in .env file.
- Add values to the below keys in the .env file
3: Install Required Dependencies:
- In the chitchat-fronend-and-admin-nodejs folder, run following command in the terminal to install the required dependencies.
npm install
4: Run Chitchat API:
- Once you've finished all the previous steps, you can run Application by adding following command.
# For development (with auto-restart)
nodemon app.js
# For production
npm start
# or
node app.js
5: Run chitchat Installation Wizard:
- After starting the server, open the current running server URL (http://127.0.0.1:3000) in your web browser, and the chitchat installation wizard will automatically appear.
- Step 1: Before you proceed to the next step, make sure that the specified Node extensions are installed on your system.
- Step 2: Before using the Chitchat, it's important to verify your Envato purchase license code.
- Enter in your Envato username and the chitchat purchase code and click next button.
- If you don't know where to find your purchase code, click here: where is my purchase code
Note: Once a license is verified, it can't be used for another project. An Envato Purchase License can only be verified on one domain at time.
- Step 3: Once the license has been verified, proceed to the database configuration step.
- Enter the essential MySQL database credentials to connect NodeJs to the MySQL database such as a database host, username, password, and database name.
- Enter the administration details as well. Once done, click the "Next" button to proceed.
Note: After entering the required information and clicking "Next," the database setup will start. It might take around 5 to 10 minutes, so please wait patiently.
- Step 4: Once all steps are finished, Congratulations! ChitChat has been successfully installed and configured on your system! 🎉
Deploying Chitchat to a production server ensures your messaging platform is accessible to users worldwide. This section covers deployment strategies for various hosting platforms and server configurations.
Step 1: Server Setup
# Update server packages
sudo apt update && sudo apt upgrade -y
# Install essential tools
sudo apt install curl wget git unzip -y
Step 2: Install Node.js on Server
# Install Node.js using NodeSource
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt-get install -y nodejs
# Verify installation
node --version
npm --version
Step 3: Install MySQL on Server
# Install MySQL Server
sudo apt install mysql-server -y
# Secure MySQL installation
sudo mysql_secure_installation
# Configure MySQL for remote access (if needed)
sudo ufw allow mysql
Step 4: Deploy Application
# Clone your repository
git clone https://github.com/your-username/chitchat-nodejs.git
cd chitchat-nodejs
# Install production dependencies
npm install --production
# Seeder
npx sequelize-cli db:seed:all
# Set up environment variables
cp .env.example .env
nano .env # Edit with production values
Step 5: Process Management with PM2
# Install PM2 globally
sudo npm install -g pm2
# Start application with PM2
pm2 start app.js --name chitchat
# Save PM2 configuration
pm2 save
# Set PM2 to start on boot
pm2 startup
Step 6: Nginx Reverse Proxy (Recommended)
# Install Nginx
sudo apt install nginx -y
# Create Nginx configuration
sudo nano /etc/nginx/sites-available/chitchat
# Add configuration:
server {
listen 80;
server_name your-domain.com;
location / {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
# Enable site
sudo ln -s /etc/nginx/sites-available/chitchat /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx
# Install Certbot
sudo apt install certbot python3-certbot-nginx -y
# Obtain SSL certificate
sudo certbot --nginx -d your-domain.com
# Auto-renewal setup
sudo crontab -e
# Add: 0 12 * * * /usr/bin/certbot renew --quiet
Chitchat can be easily deployed on popular cloud platforms:
Simple git-based deployment with add-ons for MySQL
Droplets with one-click Node.js setup and managed databases
Scalable cloud computing with RDS for MySQL
Deployment URLs:
https://your-domain.com/messengerhttps://your-domain.com/admin/auth/loginChitchat's core features provide the foundation for modern messaging experiences. Built with real-time communication at its heart, these features ensure seamless interaction between users across all devices.
Experience instant message delivery with our WebSocket-powered real-time messaging system. Messages are delivered instantly with read receipts, typing indicators, and delivery confirmations.
Comprehensive user management system with profile customization, status updates, and privacy controls.
All your conversations, media, and settings are securely stored in MySQL database with automatic backups and data synchronization across devices.
Chitchat offers a comprehensive set of messaging features designed to be intuitive and feature-rich.
Express your emotions instantly with message reactions. Choose from a wide variety of emojis to react to messages without sending a separate reply.
Efficient message management with copy, reply, and forward capabilities for seamless communication flow.
Complete control over your messages with editing, deletion, and organization features.
Powerful search capabilities to find messages, contacts, and media across your entire chat history.
Keep your chats organized with archiving, pinning, and categorization features.
Chitchat provides comprehensive communication tools including high-quality audio and video calls, making it a complete communication platform for personal and professional use.
Crystal-clear audio calls with advanced features for seamless voice communication.
Face-to-face communication with HD video calls, screen sharing, and interactive features.
Comprehensive call management with history tracking, statistics, and contact integration.
Smart chat organization with recent conversations, unread indicators, and quick access to active chats.
Build and manage your social network with Chitchat's comprehensive friend management system. Connect with friends, manage contacts, and build meaningful relationships.
Discover and connect with friends using multiple search methods and recommendation systems.
Secure friend request system with approval workflows and privacy controls.
Organize and manage your contacts with advanced sorting, grouping, and interaction features.
Share memories, documents, and media effortlessly with Chitchat's advanced media sharing capabilities. Support for multiple file types, drag-and-drop functionality, and cloud integration.
Share photos instantly with gallery management.
Share videos with playback.
Share documents, PDFs, presentations, and files.
Intuitive drag-and-drop interface for effortless file sharing and media upload.
Seamless integration with Google Drive for enhanced file sharing and backup capabilities.
Chitchat's advanced features provide professional-grade functionality for power users and organizations requiring sophisticated communication tools.
Efficient message loading with pagination and a Load Previous Messages button for optimal performance.
Comprehensive privacy controls and blocking features to maintain a safe communication environment.
Organize your conversations with powerful archiving features and bulk management tools.
Comprehensive backup and export features to protect your data and enable migration.
Real-time typing indicators provide immediate feedback about ongoing conversations.
Personalize your Chitchat experience with extensive customization options, themes, and layout configurations. Make Chitchat truly yours with our comprehensive theming system.
Switch between beautiful dark and light themes.
Customize your chat backgrounds with a variety of wallpapers and the ability to use your own images.
Adapt the interface to your workflow with flexible layout options and component positioning.
Choose from multiple pre-designed color schemes or create your own custom color palette.
Available color schemes include:
#1c9dea
Calm and professional
#ff4c3b
Vibrant and energetic
#3fdda7
Natural and soothing
#f0b54d
Warm and friendly
#e4604a
Bold and expressive
#8b5cf6
Modern and stylish
Your privacy and security are our top priorities. Chitchat implements industry-standard security measures and provides comprehensive privacy controls to protect your communications.
Multi-layered security approach with encryption, authentication, and access controls.
Granular privacy settings to control who can see your information and contact you.
Common issues and their solutions to help you get the most out of your Chitchat experience.
Database Connection Issues
# Check MySQL service status
sudo systemctl status mysql
# Restart MySQL if needed
sudo systemctl restart mysql
# Verify database credentials in .env file
# Ensure database exists and user has proper permissions
Port Already in Use
# Find process using port 3000
sudo lsof -i :3000
# Kill the process
sudo kill -9 [PID]
# Or use a different port in .env file
PORT=3001
File Upload Issues
Get help and connect with the Chitchat community:
Tips for optimizing your Chitchat installation:
Keep your Chitchat installation secure and up-to-date:
# Update application
git pull origin main
npm install
pm2 restart chitchat
# Update Node.js dependencies
npm update
Initial release with core messaging functionality and basic features
– Added Group features (Create, Edit, Update, Assign Admin, Assign Member)
– Added audio/video calling for group participants to join
– Added end-to-end encryption support for text, audio, and video calls
– Minor issues fixed and performance improvements
We're thrilled that you've chosen Chitchat for your messaging platform needs. Your trust in our product motivates us to continuously improve and add new features.
If you need help or have questions:
If you love Chitchat, please consider rating and reviewing our project. Your feedback helps us grow and improve the platform for everyone.