A minimal chat application to showcase Goyave's websocket feature. This project is based on Gorilla's chat example.
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) to solve this issue.
.
├── http
│ ├── controller
│ │ └── chat // Chat hub implementation
│ └── route
│ └── route.go // Routes definition
│
├── resources
│ └── template // Static resources
│ └── ...
│
├── .gitignore
├── .golangci.yml // Settings for the Golangci-lint linter
├── config.example.json // Example config for local development
├── config.test.json // Config file used for tests
├── go.mod
├── go.sum
└── main.go // Application entrypoint
First, make your own configuration for your local environment. You can copy config.example.json
to config.json
.
Run go run main.go
in your project's directory to start the server, then open your browser to http://localhost:8080
.