A real-time chat application built with Node.js, Express, and Socket.IO. Supports instant messaging, emoji reactions, read receipts, typing indicators, and more — all in a clean, modern interface that works great on both desktop and mobile.
- Community Group Chat: Join instantly, chat with everyone in the room—perfect for public communities, events, or temporary teams.
- No History Saved: All messages are ephemeral—once the page is refreshed or everyone leaves, chat is gone forever.
- Real-time Messaging: Instant message delivery using Socket.IO for true live chat.
- Emoji Reactions: React to any message with expressive emojis.
- Read Receipts: See exactly who has read your messages.
- Live Presence & Typing Indicators: Know who is online and when someone is typing.
- Notifications: Audio cues, favicon blinks, and dynamic tab titles when new messages arrive.
- Mobile-First & Responsive: Smooth experience on any device—desktop, tablet, or mobile.
- Modern, Minimal UI: Clean design focused on user experience.
- Node.js (v20+ recommended)
- NPM (comes with Node.js)
Setup:
-
Clone the repository:
git clone https://github.com/HeyAvijitRoy/ChatifyNode.git
-
Navigate to the project directory:
cd ChatifyNode -
Install dependencies:
npm install
-
Run the application:
node app.js
-
Open your browser and navigate to
http://localhost:8080.
| Variable | Description | Default |
|---|---|---|
PORT |
Server port | 8080 |
*(Use app.js to change the default port.)
Change the MAX_USERS variable in app.js under Configuration to adjust the maximum number of users allowed in the chat at any given time.
This app is production-ready for Google Cloud App Engine (see app.yaml), but you can deploy anywhere that supports Node.js.
To deploy on Google Cloud:
-
Authenticate with gcloud:
gcloud auth login gcloud config set project YOUR_PROJECT_ID -
Deploy the app:
gcloud app deploy
The configuration is managed by the app.yaml file. You can also deploy this to any other service that supports Node.js.
Developed by Avijit Roy .
This project is licensed under the MIT License. See LICENSE for details.