https://github.com/joaorafa19/truco-backend-go
https://github.com/joaorafa19/truco-backend-go
Last synced: 4 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/joaorafa19/truco-backend-go
- Owner: JoaoRafa19
- Created: 2024-08-12T23:25:30.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2024-08-21T11:17:34.000Z (10 months ago)
- Last Synced: 2025-01-27T07:57:24.258Z (4 months ago)
- Language: Go
- Size: 36.1 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README


# Truco
API de truco online para applicação mobile
Utiliza `sqlc` para gerar as interfaces das entidades das tabelas dos bancos de dados (não é um ORM) e as queries SQL.
Utiliza o `tern` para criar e executar as migations.## Go generate
Executa os comandos declarados em `gen.go`
```go
package gen//go:generate go run ./cmd/tools/terndotenv/main.go
//go:generate sqlc generate -f ./internal/store/pgstore/sqlc.yml
```
```shell
go generate ./...
```## Migrations
Utiliazando o tern para criar migrações, mas para executar com o ambiente local do docker pelo arquivo .env
utiliza o `os\exec` do go para rodar comandos no ambiente```shell
go run ./cmd/tools/terndotenv/main.go
```## Queries
Usa `sqlc` para gerar as queries
```shell
sqlc generate -f ./internal/store/pgstore/sqlc.yml
```## Deps
#### Install all deps:
```shell
go mod tidy
```- **tern**
```shell
go install github.com/jackc/tern/v2@latest
```- **sqlc**
```shell
go install github.com/sqlc-dev/sqlc/cmd/sqlc@latest
```## Generate
# Requisitos
## Frontend
- [ ] Tela de login
- [ ] Tela de entrar / criar sala
- [ ] Tela de jogo (bonfire)### Backend
- [ ] Salva o estado atual da sala e do deck
- [ ] Cada sala tem o estado do jogo
- [ ] Regras do jogo
- [ ] Cada sala tem um deck
- [ ] Regras de pontuaçao
- [X] Setup banco de dados para salas de jogo
- [X] Setup banco de dados para jogadores
- [ ] Autenticação JWT?
- [X] Criar sala de jogo
- [X] Entrar na sala
- [X] Receber mensagens do Websocket
- [X] Sai da sala e remove a sala caso seja a ultima conexãoCada sala tem os jogadores salvos