A real-time chat application built with Node.js and Socket.IO, deployed on Heroku. This application allows multiple users to communicate seamlessly through a web interface with message history support.
- Features
- Technologies Used
- Prerequisites
- Installation
- Usage
- Deployment
- Project Structure
- Contributing
- License
- Contact
- Real-Time Communication: Instant messaging between multiple users.
- Message History: View previous messages upon connecting.
- Responsive Design: Accessible on both desktop and mobile devices.
- Secure Connection: Deployed with HTTPS on Heroku.
- Scalable Architecture: Supports multiple concurrent users.
- Node.js: JavaScript runtime environment.
- Express.js: Web framework for Node.js.
- Socket.IO: Enables real-time, bidirectional communication.
- Heroku: Cloud platform for deployment.
Before you begin, ensure you have met the following requirements:
- Node.js and npm: Install Node.js (which includes npm) on your machine.
- Git: Install Git for version control.
- Heroku Account: Sign up for a free account at Heroku.
- Heroku CLI: Install the Heroku CLI.
Follow these steps to set up the project locally:
-
Clone the Repository:
git clone [email protected]:lokashrinav/Chat-App-Sockets.git
-
Navigate to the Project Directory:
cd Chat-App-Sockets
-
Install Dependencies:
Ensure you're in the project root directory and run:
npm install
This command installs all required libraries listed in
package.json
.
To run the application locally:
-
Start the Server:
npm start
-
Access the Application:
Open your browser and navigate to
http://localhost:3000
. -
Interact with the Chat:
- Open multiple browser tabs or use different devices on the same network.
- Send messages through the chat interface and observe real-time updates.
├── public/
│ ├── index.html
│ ├── script.js
│ └── styles.css
├── Procfile
├── package.json
├── server.js
└── README.md
- public/: Contains static files served to the client.
- index.html: The main HTML file.
- script.js: Client-side JavaScript for handling Socket.IO events.
- styles.css: Stylesheet for the chat interface.
- Procfile: Specifies the command to run the server on Heroku.
- package.json: Lists project dependencies and scripts.
- server.js: Server-side application code.
- README.md: Project documentation.
This project is licensed under the MIT License.