{"id":19225406,"url":"https://github.com/joaovicdsantos/whosbest","last_synced_at":"2026-05-16T09:32:34.443Z","repository":{"id":54840632,"uuid":"437449549","full_name":"joaovicdsantos/whosbest","owner":"joaovicdsantos","description":"Create polls and let people decide who is best.","archived":false,"fork":false,"pushed_at":"2024-01-27T23:10:19.000Z","size":90,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-23T10:17:40.785Z","etag":null,"topics":["api","golang","gorilla-websocket","graphql","http","jwt","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/joaovicdsantos.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,"roadmap":null,"authors":null}},"created_at":"2021-12-12T04:09:56.000Z","updated_at":"2024-01-29T19:12:16.000Z","dependencies_parsed_at":"2024-01-28T00:50:06.518Z","dependency_job_id":"b9b07390-94a1-4f13-884e-78c03a5ebf17","html_url":"https://github.com/joaovicdsantos/whosbest","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/joaovicdsantos/whosbest","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joaovicdsantos%2Fwhosbest","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joaovicdsantos%2Fwhosbest/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joaovicdsantos%2Fwhosbest/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joaovicdsantos%2Fwhosbest/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/joaovicdsantos","download_url":"https://codeload.github.com/joaovicdsantos/whosbest/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joaovicdsantos%2Fwhosbest/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33096872,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-16T04:41:52.686Z","status":"ssl_error","status_checked_at":"2026-05-16T04:41:52.009Z","response_time":115,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5: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":["api","golang","gorilla-websocket","graphql","http","jwt","websocket"],"created_at":"2024-11-09T15:15:00.506Z","updated_at":"2026-05-16T09:32:34.425Z","avatar_url":"https://github.com/joaovicdsantos.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cimg src=\"https://user-images.githubusercontent.com/24553367/195928856-08300a92-d243-4194-a664-1aefa977f56b.png\" style=\"width: 450px;\"\u003e\n\nWhosbest API é um backend para a plataforma de competições e enquetes, Whosbest.\nTrata-se de uma Web API construída em [Go](https://go.dev/) com [GraphQL](https://graphql.org/)\npara as requisições e [WebSocket](https://developer.mozilla.org/pt-BR/docs/Web/API/WebSockets_API)\npara uma análise em tempo real dos resultados. Além disso a persistência dos dados é feita em um\nbanco [PostgreSQL](https://www.postgresql.org/).\n## Referências\n\n - [go-graphql](https://github.com/graphql-go/graphql)\n - [golang-jwt](https://github.com/golang-jwt/jwt)\n - [golang-migrate](https://github.com/golang-migrate/migrate)\n - [websocket](https://github.com/gorilla/websocket)\n\n## Variáveis de Ambiente\n\nPara rodar esse projeto, você vai precisar adicionar algumas variáveis de ambiente no seu `.env`. De forma geral,\nrecomendamos que o arquivo `.env.example` seja copiado, ele já fornece o mínimo necessário para iniciar o projeto,\nnão sendo necessário configurações adicionais.\n\n## Rodando localmente\n\nClone o projeto\n\n```bash\n  git clone git@github.com:joaovicdsantos/whosbest-api.git\n```\n\nEntre no diretório do projeto\n\n```bash\n  cd whosbest-api\n```\n\nExecute as migrações\n\n```bash\n  docker compose --profile tools run migrate\n```\n\nRode com docker compose\n\n```bash\n  docker compose up -d\n```\n\n\n## Documentação da API\n\n#### Cadastrar\n\n```http\n  POST /register\n```\n\n| Body        | Tipo       | Descrição                           |\n| :---------- | :--------- | :---------------------------------- |\n| `username`  | `string`   | Nickname de usuário |\n| `password`  | `string`   | Senha do usuário |\n\n#### Logar\n\n```http\n  POST /login\n```\n| Body        | Tipo       | Descrição                           |\n| :---------- | :--------- | :---------------------------------- |\n| `username`  | `string`   | Nickname de usuário |\n| `password`  | `string`   | Senha do usuário |\n\n\n```http\n  GET /graphql\n```\n| Body        | Tipo       | Descrição                           |\n| :---------- | :--------- | :---------------------------------- |\n| `query`     | `string`   | GraphQL query |\n\nAlém destes, há o endpoint relacioando ao WebSocket.\n ```http\n  WEBSOCKET /ws\n```\n## Licença\n\n[MIT](https://choosealicense.com/licenses/mit/)\n\n\n## Autores\n\n- [@joaovicdsantos](https://www.github.com/joaovicdsantos)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoaovicdsantos%2Fwhosbest","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjoaovicdsantos%2Fwhosbest","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoaovicdsantos%2Fwhosbest/lists"}