{"id":38827311,"url":"https://github.com/go-goyave/websocket-example","last_synced_at":"2026-01-17T13:13:33.529Z","repository":{"id":57625636,"uuid":"341199512","full_name":"go-goyave/websocket-example","owner":"go-goyave","description":"A minimal chat application to showcase Goyave's websocket features","archived":false,"fork":false,"pushed_at":"2025-07-01T09:38:26.000Z","size":250,"stargazers_count":8,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-07-01T10:41:03.306Z","etag":null,"topics":["example-project","go","golang","goyave","websocket"],"latest_commit_sha":null,"homepage":"https://goyave.dev","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/go-goyave.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","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,"zenodo":null},"funding":{"github":"System-Glitch","patreon":"system_glitch","custom":"https://blockstream.info/address/bc1qk2sut30zvry8glr6yca7tlgc39knepjp86ywpt"}},"created_at":"2021-02-22T12:52:26.000Z","updated_at":"2025-07-01T09:38:29.000Z","dependencies_parsed_at":"2024-05-13T09:32:13.665Z","dependency_job_id":"06705ed4-e89d-426a-973b-c6733f41c7b7","html_url":"https://github.com/go-goyave/websocket-example","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/go-goyave/websocket-example","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/go-goyave%2Fwebsocket-example","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/go-goyave%2Fwebsocket-example/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/go-goyave%2Fwebsocket-example/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/go-goyave%2Fwebsocket-example/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/go-goyave","download_url":"https://codeload.github.com/go-goyave/websocket-example/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/go-goyave%2Fwebsocket-example/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28508980,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T11:50:55.898Z","status":"ssl_error","status_checked_at":"2026-01-17T11:50:55.569Z","response_time":85,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["example-project","go","golang","goyave","websocket"],"created_at":"2026-01-17T13:13:32.922Z","updated_at":"2026-01-17T13:13:33.521Z","avatar_url":"https://github.com/go-goyave.png","language":"Go","funding_links":["https://github.com/sponsors/System-Glitch","https://patreon.com/system_glitch","https://blockstream.info/address/bc1qk2sut30zvry8glr6yca7tlgc39knepjp86ywpt"],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n    \u003cimg src=\"./.github/img/goyave_banner.png#gh-light-mode-only\" alt=\"Goyave Logo\" width=\"550\"/\u003e\n    \u003cimg src=\"./.github/img/goyave_banner_dark.png#gh-dark-mode-only\" alt=\"Goyave Logo\" width=\"550\"/\u003e\n\u003c/p\u003e\n\n# Goyave Websocket Example\n\n![https://github.com/go-goyave/websocket-example/actions](https://github.com/go-goyave/websocket-example/workflows/Test/badge.svg)\n\nA minimal chat application to showcase [Goyave](https://github.com/go-goyave/goyave)'s websocket feature. This project is based on [Gorilla's chat example](https://github.com/gorilla/websocket/tree/master/examples/chat).\n\n**Disclaimer:** This example project cannot be used in a real-life scenario, as you would need to be able to serve clients across multiple instances of the application. This is a typical scenario in cloud environments. The hub in this example could use a PUB/SUB mechanism (for example with [redis](https://redis.io/docs/interact/pubsub/)) to solve this issue.\n\n## Getting Started\n\n### Directory structure\n\n```\n.\n├── http\n│   ├── controller\n│   │   └── chat             // Chat hub implementation\n│   └── route\n│       └── route.go         // Routes definition\n│\n├── resources\n│   └── template             // Static resources\n│       └── ...\n│\n├── .gitignore\n├── .golangci.yml            // Settings for the Golangci-lint linter\n├── config.example.json      // Example config for local development\n├── config.test.json         // Config file used for tests\n├── go.mod\n├── go.sum\n└── main.go                  // Application entrypoint\n```\n\n### Running the project\n\nFirst, make your own configuration for your local environment. You can copy `config.example.json` to `config.json`.\n\nRun `go run main.go` in your project's directory to start the server, then open your browser to `http://localhost:8080`.\n\n## Resources\n\n- [Documentation](https://goyave.dev)\n- [go.pkg.dev](https://pkg.go.dev/goyave.dev/goyave/v5)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgo-goyave%2Fwebsocket-example","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgo-goyave%2Fwebsocket-example","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgo-goyave%2Fwebsocket-example/lists"}