Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MERN-Based Chat Application

Overview

This is an academic project developed for the Data Communication and Computer Networks subject. The application is a real-time chat platform built using the MERN stack (MongoDB, Express.js, React.js, Node.js).

Features

  • Real-time messaging
  • User authentication
  • Message history
  • User profiles
  • Group chat functionality

Technologies Used

  • MongoDB: NoSQL database for storing user data and messages
  • Express.js: Backend web application framework
  • React.js: Frontend library for building the user interface
  • Node.js: JavaScript runtime environment for the server
  • Socket.io: Library for real-time, bidirectional communication

Installation

  1. Clone the repository
git clone https://github.com/yourusername/mern-chat-app.git
  1. Install dependencies for the server
cd mern-chat-app/server
npm install
  1. Install dependencies for the client
cd ../client
npm install
  1. Create a .env file in the server directory with the following variables:
PORT=5000
MONGODB_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret
  1. Start the server
cd ../server
npm start
  1. Start the client
cd ../client
npm start

Project Structure

mern-chat-app/
├── client/             # React frontend
├── server/             # Node.js backend
│   ├── controllers/    # Request handlers
│   ├── models/         # Database models
│   ├── routes/         # API routes
│   └── server.js       # Entry point
└── README.md           # Project documentation

Academic Purpose

This project is being developed as part of the coursework for Data Communication and Computer Networks. It demonstrates practical implementation of networking concepts including:

  • Client-server architecture
  • WebSocket communication
  • HTTP/HTTPS protocols
  • Data persistence
  • Authentication and security

Future Enhancements

  • End-to-end encryption
  • File sharing capabilities
  • Voice and video calls
  • Mobile application

Contributors

  • Sahil Gawade

License

This project is for academic purposes only.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages