EchoChamber is a real-time chat application built with React, TypeScript, Node.js, MongoDB, Socket.io, Redis, and DaisyUI. This application allows users to engage in instant messaging, providing a seamless and responsive chat experience.
![image](https://private-user-images.githubusercontent.com/81561733/308809156-97aa661e-5c42-4770-9421-b31d6e351024.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk3OTUxNjYsIm5iZiI6MTczOTc5NDg2NiwicGF0aCI6Ii84MTU2MTczMy8zMDg4MDkxNTYtOTdhYTY2MWUtNWM0Mi00NzcwLTk0MjEtYjMxZDZlMzUxMDI0LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTclMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE3VDEyMjEwNlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTFjMmVhZGQyMTc4MTRmMGJiMWRmZTUwOTVmZThkZjZmNDc5MGU3OGRkMDMwNGZkNDQ5ZTU4ODAwMjcyNzA1ZWEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.B26O1goxBBI7vXm7inbkdeFIj1AkrQUeb3UogqIQUYw)
-
Real-time Communication: Utilizes Socket.io for real-time bidirectional communication between the server and clients, ensuring instant message delivery.
-
Persistent Storage: Stores user data and messages in MongoDB, offering a persistent and scalable solution.
-
User Authentication: Implements user authentication to secure the chat environment, ensuring that only authorized users can access the application.
-
Responsive UI with DaisyUI: The user interface is built with React and DaisyUI, providing a clean and responsive design for a smooth user experience across devices.
-
Typescript: Enhances code readability, maintainability, and scalability through the use of TypeScript.
-
Scalability: Incorporates Redis for handling the application's caching needs, improving overall performance and scalability.
Before running the application, make sure you have the following installed:
- Node.js
- npm or yarn
- MongoDB
- Redis
-
Clone the repository:
git clone https://github.com/your-username/EchoChamber.git cd EchoChamber
-
Install dependencies:
npm install
-
Configure Environment Variables:
Create a .env file in the root of the project and configure the following variables:
MONGODB_URI=your_mongodb_connection_string REDIS_URI=your_redis_connection_string
-
Start the Application:
npm start or yarn start
The application should now be running at http://localhost:3000.
Happy chatting with EchoChamber! 🚀