ChatPulse is a real-time chat room application designed to provide seamless and instantaneous communication between users. The app features a modern, intuitive interface with real-time chat functionalities akin to popular messaging platforms. It is built using React for the frontend, Node.js and Express for the backend, and MongoDB for data management. Real-time interactions are powered by Pusher, ensuring smooth and immediate message delivery.
- Real-Time Messaging: Instantaneous chat functionality powered by Pusher.
- User Authentication: Secure account management with MongoDB.
- Responsive UI: Stylish and responsive interface using React and CSS.
- Scalable Architecture: Backend services deployed on Heroku and frontend on Firebase.
-
Frontend:
- React
- CSS
- Firebase (Deployment)
-
Backend:
- Node.js
- Express.js
- MongoDB (Database)
- Pusher (Real-Time Communication)
- Heroku (Deployment)
Ensure you have the following installed on your development machine:
- Node.js
- npm or yarn
- MongoDB
-
Clone the repository:
git clone https://github.com/yourusername/chatpulse.git cd chatpulse -
Install dependencies for both client and server:
# For the backend cd backend npm install # For the frontend cd ../frontend npm install
-
Set up environment variables:
Create a
.envfile in thebackenddirectory and add the following:PORT=5000 MONGODB_URI=your_mongodb_connection_string PUSHER_APP_ID=your_pusher_app_id PUSHER_KEY=your_pusher_key PUSHER_SECRET=your_pusher_secret PUSHER_CLUSTER=your_pusher_cluster
-
Run the application:
# Start the backend server cd backend npm start # Start the frontend development server cd ../frontend npm start
The frontend will be available at
http://localhost:3000and the backend athttp://localhost:5000.
chatpulse/
├── backend/
│ ├── controllers/
│ ├── models/
│ ├── routes/
│ ├── app.js
│ ├── server.js
│ └── .env
├── frontend/
│ ├── public/
│ ├── src/
│ │ ├── components/
│ │ ├── pages/
│ │ ├── App.js
│ │ ├── index.js
│ │ └── styles.css
│ └── .env
├── README.md
└── package.json
- Starting a Chat: Sign up or log in to start chatting with other users in real-time.
- Managing Account: Users can update their profile information and manage their account settings.
Contributions are welcome! Please follow these steps:
- Fork the repository.
- Create a new branch (
git checkout -b feature/your-feature). - Commit your changes (
git commit -m 'Add some feature'). - Push to the branch (
git push origin feature/your-feature). - Open a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
- Thanks to Pusher for their real-time messaging services.
- Special thanks to the open-source community for their invaluable contributions.