https://github.com/garyeung/broadcast_server
A real-time broadcast server implementation using WebSocket protocol. This server supports user authentication, real-time messaging, and user status tracking.
https://github.com/garyeung/broadcast_server
broadcast-messages typescript websocket-api
Last synced: 9 months ago
JSON representation
A real-time broadcast server implementation using WebSocket protocol. This server supports user authentication, real-time messaging, and user status tracking.
- Host: GitHub
- URL: https://github.com/garyeung/broadcast_server
- Owner: garyeung
- License: mit
- Created: 2024-12-12T01:44:18.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-12-18T02:40:39.000Z (about 1 year ago)
- Last Synced: 2025-02-16T20:33:46.868Z (12 months ago)
- Topics: broadcast-messages, typescript, websocket-api
- Language: TypeScript
- Homepage: https://roadmap.sh/projects/broadcast-server
- Size: 9.77 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Broadcast Server
(https://roadmap.sh/projects/broadcast-server)
A real-time broadcast server implementation using WebSocket protocol.
This server supports user authentication, real-time messaging, and user status tracking.
## Features
- Real-time WebSocket communication
- Username-based authenticaiton
- User presence trakcing (join/leave notifications)
- Broadcast messaging system
- Connection state mamagement
- Error handling and connection recovery
- TypeScript support
## Prerequisites
- Node.js (latest)
- npm or yarn
- TypeScript
## Installation
```sh
git clone https://github.com/garyeung/broadcast_server.git
cd broadcast_server
npm install
```
## Usages
```bash
# development
$ npm run dev
# build
$ npm run build
# start
$ npm run broadcast-server
```
## Project Structure
```stylus
├── src/
│ ├── cli.ts # Commander implementation
│ ├── client.ts # Client server implementation
│ ├── broadcastServer.ts # Broadcast server implementation
│ ├── config.ts # Configuration and types
│ └── index.ts # Entry point
│
├── package.json
├── tsconfig.json
└── README.md
```