Skip to content

sumitmetri/prchat

 
 

Repository files navigation

PRChat - Real-time Chat Application

A real-time chat application built with React, Node.js, Socket.io, and MongoDB.

Features

  • Real-time messaging
  • Group chats
  • Direct messages
  • User authentication
  • Typing indicators
  • Message notifications

Tech Stack

Frontend: React, Chakra UI, Socket.io-client
Backend: Node.js, Express, Socket.io
Database: MongoDB
Authentication: JWT

Getting Started

Using Docker (Recommended)

# Start all services
docker-compose up --build

# Access the application
# Frontend: http://localhost:3000
# Backend: http://localhost:5000

Local Setup

  1. Install dependencies
npm install
cd client && npm install && cd ..
  1. Environment Setup
# Create .env file with:
PORT=5000
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret
JWT_EXPIRE=2d
NODE_ENV=development
  1. Run the application
# Terminal 1 - Backend
npm run server

# Terminal 2 - Frontend  
npm run client

Test Users

Pre-configured test accounts:

Project Structure

prchat/
├── client/          # React frontend
├── controllers/     # Express controllers
├── middleware/      # Auth middleware
├── models/          # Database models
├── routes/          # API routes
├── server.js        # Express server
└── docker-compose.yml

License

MIT

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 96.3%
  • CSS 1.5%
  • Dockerfile 1.2%
  • HTML 1.0%