Skip to content

roshankodi/SyncTalk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

30 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

SyncTalk πŸš€

A modern real-time chat application built with React, Node.js, Socket.IO, and MongoDB that enables instant communication through room-based messaging.

SyncTalk provides a fast and responsive real-time chat experience with persistent message storage, modern UI design, and scalable client-server architecture.


🌐 Live Demo

Frontend

https://synctalk.vercel.app/

Backend

https://synctalk-backend-w7lj.onrender.com

Rooms

https://synctalk-backend-w7lj.onrender.com/rooms


✨ Features

  • ⚑ Real-time messaging using Socket.IO
  • 🏠 Room-based chat system
  • πŸ‘€ Username support
  • πŸŒ™ Dark / Light mode toggle
  • πŸ’Ύ MongoDB cloud database integration
  • πŸ”„ Persistent chat history
  • πŸ“± Responsive modern UI
  • ☁️ Fully deployed frontend & backend
  • πŸš€ Fast Vite-powered frontend

πŸ› οΈ Tech Stack

Frontend

  • React.js
  • Vite
  • Tailwind CSS
  • Socket.IO Client

Backend

  • Node.js
  • Express.js
  • Socket.IO
  • MongoDB Atlas
  • Mongoose

Deployment

  • Vercel (Frontend)
  • Render (Backend)

πŸ“Έ Screenshots

Join Room Screen

Join Room


Desktop Chat Interface

Desktop Chat


Toggle Mmode Interface

Toggle Mode


Mobile Chat Interface

Mobile Chat


Active Users Sidebar

Users Sidebar


βš™οΈ Local Installation

1. Clone Repository

git clone https://github.com/roshankodi/synctalk.git
cd synctalk

2. Install Frontend Dependencies

cd client
npm install

3. Install Backend Dependencies

cd ../server
npm install

πŸ” Environment Variables

Create a .env file inside the server folder:

MONGO_URI=your_mongodb_connection_string
PORT=5000

▢️ Run Locally

Start Backend

cd server
npm start

Start Frontend

cd client
npm run dev

Frontend runs on:

http://localhost:5173

🧠 Project Architecture

Client (React + Socket.IO)
        ↓
Node.js + Express Server
        ↓
Socket.IO Realtime Communication
        ↓
MongoDB Atlas Database

πŸš€ Future Improvements

  • πŸ” Authentication & Authorization
  • πŸ‘₯ Presence / Online status
  • πŸ“Ž File & image sharing
  • πŸ–ΌοΈ User profile avatars
  • πŸ’¬ Direct messaging
  • πŸ“± Progressive Web App (PWA)
  • πŸ” Chat search functionality
  • 🌍 Multi-language support

πŸ“Œ Key Learnings

This project helped strengthen concepts in:

  • Real-time communication
  • Full-stack application architecture
  • WebSocket implementation
  • MongoDB integration
  • Cloud deployment
  • React state management
  • Responsive UI development

πŸ‘¨β€πŸ’» Author

Roshan Kodi


⭐ Support

If you like this project, consider giving it a star on GitHub ⭐

⭐ Star the repository to support development.

About

Modern real-time chat application built with React, Node.js, Socket.IO, and MongoDB featuring room-based messaging, persistent chat history, and responsive UI.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors