Skip to content

Latest commit

 

History

History
76 lines (58 loc) · 2.2 KB

README.md

File metadata and controls

76 lines (58 loc) · 2.2 KB

💬 Chat App

A real-time chat application that allows users to seamlessly communicate with each other. Designed with scalability, security, and user-friendliness in mind, this app leverages modern web technologies to deliver a smooth messaging experience.


🚀 Features

  • Real-Time Messaging: Instant communication powered by WebSockets.
  • User Authentication: Secure login and registration system to protect user data.
  • Responsive Design: Fully optimized for both desktop and mobile devices.
  • Chat Rooms: Create and join public or private chat rooms for focused conversations.
  • User Presence: See who’s online and available for chat in real-time.

🛠️ Tech Stack

  • Frontend: HTML, CSS, JavaScript
  • Backend: Node.js, Express.js
  • Database: MongoDB for storing user data and chat logs
  • Real-Time Communication: Socket.IO for live updates
  • Authentication: JWT (JSON Web Tokens) for secure user sessions

📦 Setup and Installation

Prerequisites:

  • Install Node.js from here.
  • Set up MongoDB locally or use a cloud-based instance like MongoDB Atlas.

Steps to Set Up:

  1. Clone the repository:
    git clone https://github.com/Madhur-Prakash/chat-app.git
    cd chat-app
  2. Set up environment variables:
  • Create a .env file in the root directory.
  • Add the following configuration:
PORT=5001
MONGO_URI=your_mongo_connection_string
JWT_SECRET=your_secret_key
CLOUDINARY_API_KEY=your_API_key
CLOUDINARY_API_SECRET=your_cloudinary_secret_key
  1. Build the app:
npm run build
  1. Start the frontend server:
cd frontend
npm run dev
  1. Start the backend server:
cd backend
npm run dev
  1. Access the application: Open your browser and navigate to:
http://localhost:5173

🌟 Acknowledgements

Special thanks to the developer community for their tutorials, documentation, and open-source projects, which were a constant source of learning and inspiration.

If you have any feedback or suggestions to improve this project, feel free to open an issue or contribute via pull requests.