https://github.com/brokeyourbike/lets-go-chat
Let's Go Chat
https://github.com/brokeyourbike/lets-go-chat
api chat epam go golang pgsql websocket websockets
Last synced: 9 months ago
JSON representation
Let's Go Chat
- Host: GitHub
- URL: https://github.com/brokeyourbike/lets-go-chat
- Owner: brokeyourbike
- License: mpl-2.0
- Archived: true
- Created: 2021-11-04T20:39:18.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2023-05-09T22:23:08.000Z (about 3 years ago)
- Last Synced: 2024-11-15T08:47:22.541Z (over 1 year ago)
- Topics: api, chat, epam, go, golang, pgsql, websocket, websockets
- Language: Go
- Homepage: https://lets-go-chat-bro.herokuapp.com
- Size: 173 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# lets-go-chat
[](https://pkg.go.dev/github.com/brokeyourbike/lets-go-chat)
[](https://goreportcard.com/report/github.com/brokeyourbike/lets-go-chat)
[](https://codeclimate.com/github/brokeyourbike/lets-go-chat/maintainability)
[](https://codeclimate.com/github/brokeyourbike/lets-go-chat/test_coverage)
Let's Go Chat
## How to use
```bash
HOST=127.0.0.1 PORT=8080 go build && ./lets-go-chat
```
or with `reflex`
```bash
HOST=127.0.0.1 PORT=8080 reflex -r '\.go' -s -- sh -c "go build && ./lets-go-chat"
```
## Database
```bash
docker run -it --rm --name go-postgres -p 5432:5432 -e POSTGRES_USER=postgres -e POSTGRES_PASSWORD=secret postgres:14.0
```
## Generate code from openapi
```bash
oapi-codegen -generate types -o api/server/types.gen.go -package server api/openapi.yaml
```
```bash
oapi-codegen -generate chi-server -o api/server/server.gen.go -package server api/openapi.yaml
```
## How to test
```bash
mockery --all && MallocNanoZone=0 go test -race -shuffle=on ./...
```
## How to run load test
```bash
artillery run ./loadtest.yml --output result.json
```
## Authors
- [Ivan Stasiuk](https://github.com/brokeyourbike) | [Twitter](https://twitter.com/brokeyourbike) | [LinkedIn](https://www.linkedin.com/in/brokeyourbike) | [stasi.uk](https://stasi.uk)
## License
[Mozilla Public License v2.0](https://github.com/brokeyourbike/lets-go-chat/blob/main/LICENSE)