{"id":17268225,"url":"https://github.com/ratakondalaarun/retrochat","last_synced_at":"2025-03-26T11:40:23.492Z","repository":{"id":134285902,"uuid":"309293513","full_name":"RatakondalaArun/RetroChat","owner":"RatakondalaArun","description":"A Realtime chat application using dart WebSockets","archived":false,"fork":false,"pushed_at":"2020-11-02T09:53:19.000Z","size":496,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-31T12:49:24.782Z","etag":null,"topics":["chat","chat-app","dart","retrochat","shelf","websockets"],"latest_commit_sha":null,"homepage":"https://retr-ochat.herokuapp.com?room=public","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RatakondalaArun.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-11-02T07:43:25.000Z","updated_at":"2023-10-23T15:11:57.000Z","dependencies_parsed_at":null,"dependency_job_id":"44a9c9ea-a8ad-4aff-8b55-37edd8339080","html_url":"https://github.com/RatakondalaArun/RetroChat","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RatakondalaArun%2FRetroChat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RatakondalaArun%2FRetroChat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RatakondalaArun%2FRetroChat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RatakondalaArun%2FRetroChat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RatakondalaArun","download_url":"https://codeload.github.com/RatakondalaArun/RetroChat/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245647848,"owners_count":20649825,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chat","chat-app","dart","retrochat","shelf","websockets"],"created_at":"2024-10-15T08:12:49.792Z","updated_at":"2025-03-26T11:40:23.487Z","avatar_url":"https://github.com/RatakondalaArun.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"# RetroChat\n\nA realtime websocket chat application built using [Dart](https://dart.dev), [Shelf](https://pub.dev/packages/shelf), and JavaScript.\n\n\u003cimage src=\"screenshots/retro-chat.gif\" \u003e\n\n## How it Works?\n\n| Class     | Usecase                            |\n| --------- | ---------------------------------- |\n| `Client`  | Represents a User or device.       |\n| `Room`    | Represents a Chat or group.        |\n| `Message` | Represents a message sent by user. |\n\n`Client`(s) can join a `Room` and pass `Message` objects among them using websockets.\nEach `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.\n\n## Requirments\n\n- [Dart SDK](https://dart.dev/get-dart)\n- Code Editor with dart plugins.\n\n## Building and Running\n\n1) Clone this repo using `git clone` or download this repo and extract it.\n\n2) Download all dependencies in project root directory\n   ```shell\n   pub get\n   ```\n\n3) Use this command to start server\n   ```shell\n   dart src/main.dart\n   ```\n\n4) By default server will be running at `localhost:8080` and websocket at `localhost:8080/ws`. Now you can visit `localhost:8080` using a web browser.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fratakondalaarun%2Fretrochat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fratakondalaarun%2Fretrochat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fratakondalaarun%2Fretrochat/lists"}