https://github.com/minha-cidade/backend
Back-end em Go para o projeto Minha Cidade
https://github.com/minha-cidade/backend
api backend golang mongodb restful
Last synced: 5 months ago
JSON representation
Back-end em Go para o projeto Minha Cidade
- Host: GitHub
- URL: https://github.com/minha-cidade/backend
- Owner: minha-cidade
- License: gpl-2.0
- Archived: true
- Created: 2017-06-10T14:02:30.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2017-08-15T01:51:57.000Z (almost 9 years ago)
- Last Synced: 2024-06-20T12:40:00.925Z (about 2 years ago)
- Topics: api, backend, golang, mongodb, restful
- Language: Go
- Homepage: https://minhacidade.top/
- Size: 2.26 MB
- Stars: 4
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Backend Minha Cidade em Go
## Introdução
O Backend Minha Cidade expõe uma API de fácil acesso aos dados coletados
pelo [Crawler Minha Cidade](https://github.com/minha-cidade/crawler), provendo
uma forma simples e eficiente de analisar dados públicos referentes às despesas
municipais.
## Configuração
A configuração é enviada através das seguintes variáveis de ambiente:
* `BACKEND_LISTEN_ADDRESS` (default: `":8080"`)
Endereço o qual o servidor aceitará requests.
* `BACKEND_MONGO_CONNECTION_STRING` (default: `"mongodb://localhost"`)
Endereço do banco de dados MongoDB seguindo o formato [Connection String](https://docs.mongodb.com/manual/reference/connection-string/).
* `BACKEND_REVERSE_PROXY` (default: `false`)
Caso seja `true`, os headers `X-Forwarded-For` e `X-Real-IP` enviados pela
proxy reversa serão usados para identificar o IP real do request. Apenas
use caso o backend for acessível apenas via proxy reversa que suporte esses
headers (ex.: Nginx, Apache etc). Caso contrário qualquer cliente será capaz
de forjar um IP nos logs de acesso.
* `BACKEND_CORS_ALLOWED_ORIGINS` (default: `"*"`)
Endereços que o sevidor enviará no header [CORS](https://pt.wikipedia.org/wiki/Cross-origin_resource_sharing) separados
por vírgula, sem espaço.
Ex:
"google.com,yahoo.com,bing.com"
## Instalação
Na pasta do repositório, execute o seguinte comando para criar uma imagem docker
com o Backend
$ docker build -t backend .
Depois de criado a imagem, execute o seguinte comando para executar a aplicação
$ docker run -it --rm --name backend -p 8080:8080 backend
## Documentação da API
A documentação da API pode ser acessada via pelo site https://minha-cidade.github.io/developer/ ou pelo arquivo `swagger.json`.