Skip to content

AbiDev2003/PulseChat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

12 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

PulseChat β€” Anonymous WebSocket Chatrooms

PulseChat is a real-time anonymous chatroom application built using Express and WebSockets (express-ws). The platform enables instant topic-based conversations without requiring user accounts or identity storage.

πŸ–₯️ Website UI

Homepage Chat Rooms Chat Room Interface Sidebar


🌟 Overview

PulseChat provides:

  • Real-time messaging via WebSockets
  • Dynamic room-based conversations
  • Anonymous participation (no authentication layer)
  • Live member presence updates
  • Optional server-generated joke messages
  • Responsive modern UI
  • Animated canvas-based background

πŸ› οΈ Tech Stack

Backend

Node.js Express.js WebSocket

Frontend

HTML5 CSS3 JavaScript TailwindCSS

Tools & Libraries

Lucide Canvas API


πŸ“‚ Project Structure

graph TD
    A[Root] --> B[server.js]
    A --> C[app.js]
    A --> D[Room.js]
    A --> E[ChatUser.js]
    A --> F[jokes.js]
    A --> G[static/]
    G --> H[css/]
    H --> I[styles.css]
    H --> J[tailwind.css]
    G --> K[js/]
    K --> L[chat.js]
    K --> M[animateBG.js]
    K --> N[features.js]
    G --> O[index.html]
    G --> P[chat.html]
    
    style A fill:#1e3a8a,stroke:#3b82f6,stroke-width:2px,color:#fff
    style G fill:#7c3aed,stroke:#a855f7,stroke-width:2px,color:#fff
    style H fill:#059669,stroke:#10b981,stroke-width:2px,color:#fff
    style K fill:#059669,stroke:#10b981,stroke-width:2px,color:#fff
Loading

πŸ—οΈ Application Architecture

PulseChat follows a WebSocket-driven event model.

Backend Event Flow

sequenceDiagram
participant Client
participant WebSocket
participant ChatUser
participant Room
Client->>WebSocket: Establish connection
WebSocket->>ChatUser: Create user instance
Client->>ChatUser: Send JOIN event
ChatUser->>Room: Add member
Room->>All Clients: Broadcast join notification
Client->>ChatUser: Send CHAT event
ChatUser->>Room: Broadcast message
Room->>All Clients: Deliver message
Client->>ChatUser: Disconnect
ChatUser->>Room: Remove member
Room->>All Clients: Broadcast leave notification
Loading

Frontend Flow

sequenceDiagram
participant User
participant Browser
participant WebSocket
participant UI
User->>Browser: Open room URL
Browser->>User: Prompt for username
Browser->>WebSocket: Connect to room socket
WebSocket->>UI: Receive events
UI->>UI: Render chat messages
UI->>UI: Update member presence
UI->>UI: Display notifications
Loading

βš™οΈ Core Functionalities

Room Management

  • Dynamic room creation via URL
  • In-memory room registry

Real-Time Messaging

  • Instant message broadcasting
  • Server-sent events (notes, chat, members)

Presence Awareness

  • Join / Leave detection
  • Live member count updates

Server Utilities

  • Joke generation via external API

πŸ”’ Privacy Model

PulseChat is designed as an anonymous communication platform.

  • No account system
  • No identity persistence
  • No message storage
  • All sessions are temporary

πŸš€ Getting Started

Prerequisites

  • Node.js (v14 or higher)
  • npm or yarn

Installation

  1. Clone the repository
git clone https://github.com/yourusername/pulsechat.git
cd pulsechat
  1. Install dependencies
npm install
  1. Start the server
npm start
  1. Open your browser and navigate to
http://localhost:3000

πŸ“ Usage

  1. Home Page: Browse available chatrooms or create a custom room
  2. Join Room: Click on any room or create your own
  3. Enter Username: Provide a temporary username (not stored)
  4. Start Chatting: Send messages in real-time with other users

🎨 Features

  • Anonymous Chatting: No registration required
  • Real-time Communication: Powered by WebSockets
  • Dynamic Rooms: Create custom rooms on the fly
  • Responsive Design: Works on desktop, tablet, and mobile
  • Animated Background: Modern canvas-based animations
  • Live Presence: See who's online in real-time

πŸ“§ Contact and links


πŸ™ Acknowledgments

  • Built with Express and WebSockets
  • Icons by Lucide
  • Map integration by OpenStreetMap

Β© 2026 PulseChat. All rights reserved.

About

PulseChat is a fully anonymous chatroom platform. It is made using javaScript, express.js, express-ws and TailwindCSS.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors