Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/sujal12344/chat-app

A real-time chat application using the MERN stack (MongoDB, Express, React, Node.js) with Socket.IO for instant messaging. The app should enable user account creation, secure real-time communication, and deliver a smooth, responsive chat experience.
https://github.com/sujal12344/chat-app

express fetch-api mongodb nodejs react socket-io tailwindcss zustand

Last synced: 1 day ago
JSON representation

A real-time chat application using the MERN stack (MongoDB, Express, React, Node.js) with Socket.IO for instant messaging. The app should enable user account creation, secure real-time communication, and deliver a smooth, responsive chat experience.

Awesome Lists containing this project

README

        

# MERN Stack Chat Application

This project is a real-time chat application built using the MERN stack (MongoDB, Express.js, React.js, Node.js). It utilizes socket.io for real-time communication, zustand for state management, and many more.

## Features

- Real-time messaging between multiple users
- User authentication and authorization
- Responsive design
- Emoji support with react-icons
- Minimalistic UI for easy navigation

## Technologies Used

- **Frontend**:
- React.js
- Socket.io-client (real-time communication)
- Zustand (state management)
- React-icons (icons)

- **Backend**:
- Node.js
- Express.js
- MongoDB (Atlas for cloud database)
- Socket.io (real-time server)
- JWT (JSON Web Tokens) for authentication

## Image
![image](https://github.com/user-attachments/assets/6870dcb3-42ed-41a8-9f03-e58ebbdb8a88)

## Getting Started

To get a local copy up and running follow these simple steps.

### Prerequisites

- Node.js installed on your machine
- MongoDB Atlas account for cloud database (or local MongoDB instance)

### Installation

1. Clone the repo

```sh
git clone https://github.com/sujal12344/chat-app.git
```

2. Install NPM packages

```sh
npm install
```

3. Replace .env.example with .env and fill in the required fields

4. Start the server

```sh
npm start
```

5. Start the client

```sh
cd frontend
npm start
```

6. Open your browser and navigate to `http://localhost:5173/`