A realtime websocket chat application built using Dart, Shelf, and JavaScript.
| Class | Usecase |
|---|---|
Client |
Represents a User or device. |
Room |
Represents a Chat or group. |
Message |
Represents a message sent by user. |
Client(s) can join a Room and pass Message objects among them using websockets.
Each Room contains Message(s) which are stored in server memory and a self destruction timer (5 minutes) which gets triggered as soon as all Client(s) leave the Room and timer can be aborted if a Client rejoins the Room within 5 minutes.
- Dart SDK
- Code Editor with dart plugins.
-
Clone this repo using
git cloneor download this repo and extract it. -
Download all dependencies in project root directory
pub get
-
Use this command to start server
dart src/main.dart
-
By default server will be running at
localhost:8080and websocket atlocalhost:8080/ws. Now you can visitlocalhost:8080using a web browser.
