Skip to content

Echo Chat is a modern real-time chat application built using the MERN stack (MongoDB, Express.js, React.js, Node.js) including WebRTC, Socket.IO.

Notifications You must be signed in to change notification settings

Jaymeen1712/echo-chat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

74 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ—¨οΈ Echo Chat β€” Real-Time Chat Application

A full-stack real-time chat app built with React, Node.js, and Socket.IO, offering smooth messaging, authentication, and a sleek, responsive interface.

Echo Chat Screenshot


πŸš€ Features

  • πŸ’¬ Real-time messaging powered by Socket.IO (supports private and group chats)
  • πŸ” Secure authentication using JWT
  • πŸ“ Persistent chat history with MongoDB
  • βš™οΈ Dynamic state management via Zustand
  • πŸ”„ Optimized data fetching with React Query
  • πŸ’« Interactive animations using Framer Motion
  • 🧠 Form handling and validation using React Hook Form + Yup
  • πŸŒ™ Responsive and modern UI built with Tailwind CSS
  • 🧩 Scalable architecture with modular client-server design

πŸ—οΈ Tech Stack

Frontend: React (TypeScript), React Query, Zustand, Tailwind CSS, Framer Motion, React Hook Form, Yup Backend: Node.js, Express, Socket.IO, MongoDB, Mongoose Auth: JWT Deployment: Vercel (client) & Render / Railway (server) Version Control: Git + GitHub


βš™οΈ Installation & Setup

Clone repository

git clone https://github.com/Jaymeen1712/echo-chat.git
cd echo-chat

πŸ–₯️ Client Setup

cd client
npm install
npm run dev

🧩 Server Setup

cd server
npm install
npm run dev

Ensure you update a .env file in the server directory with the following:

DATABASE_URL=your_mongodb_connection_string
JWT_SECRET=your_secret_key

🌐 Live Demo

πŸ”— Try it here: echo-chat-js.vercel.app


🧰 Folder Structure

echo-chat/
β”œβ”€β”€ client/               # React frontend
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ components/
β”‚   β”‚   β”œβ”€β”€ hooks/
β”‚   β”‚   β”œβ”€β”€ store/
β”‚   β”‚   β”œβ”€β”€ pages/
β”‚   β”‚   └── utils/
β”‚   └── package.json
β”œβ”€β”€ server/               # Express + Socket.IO backend
β”‚   β”œβ”€β”€ api/
β”‚   β”‚   β”œβ”€β”€ controllers/
β”‚   β”‚   β”œβ”€β”€ models/
β”‚   β”‚   β”œβ”€β”€ routes/
β”‚   β”‚   └── api/server.js
β”‚   └── package.json
└── README.md

🧠 Key Learnings

  • Efficiently managing real-time communication using Socket.IO
  • Building a scalable frontend architecture with Zustand and React Query
  • Ensuring clean API integration and consistent state sync
  • Handling form validation and authentication securely
  • Deploying and testing full-stack apps with Vercel and Render

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

Jaymeen Sonara πŸ”— GitHub πŸ”— LinkedIn

About

Echo Chat is a modern real-time chat application built using the MERN stack (MongoDB, Express.js, React.js, Node.js) including WebRTC, Socket.IO.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published