2025-09-05 23:47:11 -04:00
2025-09-05 23:44:28 -04:00
2025-09-05 23:44:28 -04:00
2025-09-05 18:12:14 -04:00
2025-09-05 18:12:14 -04:00
2025-09-05 23:44:28 -04:00
2025-09-05 23:44:28 -04:00
2025-09-05 23:44:28 -04:00
2025-09-05 23:44:28 -04:00
2025-09-05 23:47:11 -04:00
2025-09-05 18:12:14 -04:00

Chatrooms

A collection of chatting rooms built with WebSocket technology.

Overview

This project consists of a WebSocket server and web frontend for real-time chat functionality. The server implements a custom WebSocket protocol, and the frontend provides a simple web interface for connecting to chat rooms.

Project Structure

chatrooms/
├── server/           # WebSocket server implementation
│   └── src/
│       ├── net/      # Network layer and WebSocket implementation
│       └── index.ts  # Server entry point
├── frontend/web/     # Web frontend
│   └── src/
│       ├── main.ts   # Frontend WebSocket client
│       └── style.css # Styles
└── package.json      # Root workspace configuration

Architecture

  • Server: Node.js TypeScript server with custom WebSocket implementation
  • Frontend: Vanilla TypeScript web client using Vite for development
  • Workspace: Managed as npm workspaces for monorepo development

Prerequisites

  • Node.js (version specified in .nvmrc)
  • npm

Installation

npm install

Development

Start the server

npm run dev:server

The server will start on port 3000.

Start the web frontend

npm run dev:web

Linting

# Lint server code
npm run lint:server

# Lint and fix server code
npm run lint:fix:server

Features

  • Custom WebSocket server implementation
  • Real-time bidirectional communication
  • Connection management with keep-alive
  • TypeScript throughout the stack
  • Development tools with hot reload

Author

Alexander Zinn

License

ISC

Description
No description provided
Readme 121 KiB
Languages
TypeScript 77.5%
HTML 22.4%
CSS 0.1%