This is a real-time chat application that enables users to join different chat rooms, send private messages within rooms, see typing indicators, receive notifications and view recent message history. The application is built with NestJS for the backend, React with TypeScript for the frontend and MongoDB for database management.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
- Node.js
- MongoDB
- npm
- Navigate to the backend directory from the root of the project:
cd backend
- Install dependencies:
npm install
- Ensure MongoDB is running on your local machine. Start the NestJS server:
npm run start:dev
The backend server should now be running and listening for connections.
- Navigate to the frontend directory from the root of the project:
cd frontend
- Install dependencies:
npm install
- Start the React application:
npm start
The application should now open in your default web browser.
- Multiple Rooms: Users can join and interact in different chat rooms.
- Private Messages: Users can send private messages to individuals within the same room.
- Typing Indicator: Shows when a user is typing in the chat room.
- Notifications: Notifies users when someone joins or leaves a chat room.
- Message History: Displays the last 10 messages in the chat room for newly joined users.