O projeto Turistando é uma API de consulta sobre pontos turísticos criada para teste de ferramentas estudo.
gem install bundler -v '2.5.6'
- Instale o Redis
sudo apt install redis-server
- Instale as Gems:
bundle install
- Ative a API do Google Translate conforme a documentação
- Configure o seu arquivo
database.yml
- Crie o banco de dados:
rails db:create
- Rode as migrations:
rails db:migrate
- Salve as informações dos pontos turísticos no banco de dados
rake get_data:get_data
- Crie e configure as varíaveis de ambiente no arquivo
.env
conforme abaixo
# Configuração do Banco de Dados
MYSQL_HOST=SEU_HOST
MYSQL_USER=SEU_MYSQL_USER
MYSQL_PASSWORD=SEU_MYSQL_PASSWORD
# Sua chave API do google translate
API_KEY= "SUA_CHAVE_API"
# URL da API do Google Translate
BASE_URL = "https://translation.googleapis.com/language/translate/v2/"
- Inicie o servidor da API:
rails server
- Baixe o arquivo API Turistando.json.
- Importe o arquivo dentro de um Cliente de API
- Teste as requisições
Requisição por padrão trás 500 pontos turísticos diferentes em nosso banco de dados.
http://localhost:3000/places/
A API pode receber outros dois parametros opcionais:
-
Kind
Parâmetro utilizado para filtrar pelo tipo de ponto turístico que você deseja conhecer
Exemplo:
http://localhost:3000/places/religion
Resposta:
[ "Cathedral Park", "religion,cathedrals,gardens_and_parks,cultural,urban_environment,interesting_places" 7, "[-78.8776016, 42.8819733]" ]
Você pode conhecer todos os tipos de pontos turísticos aqui: Tipos de Pontos Turísticos
-
Language
Parâmetro utilizado para tradução da resposta da API
Exemplo:
http://localhost:3000/places/historic/pt
Resposta:
[ "Indian God Rock (GPS confirma a localização)", "histórico,pinturas_de_cavernas,arqueologia,locais_interessantes" 7, "[-79.8252869, 41.3306694]" ]
Note
O parâmetro Language só não irá funcionar na requisição de todos os Pontos Turísticos, pois a API de tradução não suporta a quantidade de caractéres
Para rodar os testes com Rpec basta executar o comando:
bundle exec rspec