{"id":19881872,"url":"https://github.com/szsascha/go-realtime-server","last_synced_at":"2026-06-04T21:31:12.839Z","repository":{"id":197787545,"uuid":"699301963","full_name":"szsascha/go-realtime-server","owner":"szsascha","description":"Create a server to handle websocket requests in realtime with go.","archived":false,"fork":false,"pushed_at":"2023-10-02T11:48:00.000Z","size":5,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-11T18:14:56.472Z","etag":null,"topics":["go","golang","networking","realtime","websocket"],"latest_commit_sha":null,"homepage":"","language":"Go","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/szsascha.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}},"created_at":"2023-10-02T11:12:47.000Z","updated_at":"2023-10-02T11:52:42.000Z","dependencies_parsed_at":"2023-10-02T16:14:25.316Z","dependency_job_id":null,"html_url":"https://github.com/szsascha/go-realtime-server","commit_stats":null,"previous_names":["szsascha/go-realtime-server"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/szsascha%2Fgo-realtime-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/szsascha%2Fgo-realtime-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/szsascha%2Fgo-realtime-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/szsascha%2Fgo-realtime-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/szsascha","download_url":"https://codeload.github.com/szsascha/go-realtime-server/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241310516,"owners_count":19941969,"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":["go","golang","networking","realtime","websocket"],"created_at":"2024-11-12T17:15:47.437Z","updated_at":"2025-03-01T03:21:01.490Z","avatar_url":"https://github.com/szsascha.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# go realtime server\n\nAs part of a larger non-public, private project I needed to create a websocket realtime server in go. The server accepts messages of different types and executes different actions depending on the given message type.\n\nI made the realtime server part of the project modular so I could also use it for other projects. This repository is an extracted result of this modular realtime server.\n\n\n## Requirements\n\n- Go version \u003e= 1.21.0\n\n\n## Setup\n\n1. Clone this repo\n2. run `go run .` from the main directory of this repo\n\n## Usage\n\nOnce the server has started, just send websocket requests to `localhost:8080/ws` with your defined messages.\n\nFor example:\n```\n{\n    \"type\": \"echo\",\n    \"body\": \"test echo message\"\n}\n```\n\nThe implemented messages should be defined in the echo/message/message.go map of MessageTypes with the reference to their struct.\n\n## Functionality\n\n- Handling of websocket connection with connection pooling\n- Create own implementation of your realtime processes\n- Json serialization of messages\n- Implemented echo server as an example\n\n\n## Disclaimer\n\nThis project is not intended to be used in production out-of-the-box.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fszsascha%2Fgo-realtime-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fszsascha%2Fgo-realtime-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fszsascha%2Fgo-realtime-server/lists"}