Twitter Weather é uma API de integração entre oOpenWeathere e o Twitter . A integração com o OpenWeather é feita com a gem BeautyWeather que, por sua vez, é uma gem privativa e exclusiva do projeto.
A aplicação funciona de forma assíncrona, agendando o envio do tweet.
O endpoint aceita a seguinte estrutura:
{
"twitter": {
"user": "string",
"token": "string"
},
"city_id": "string"
}
Caso a estrutura esteja errada retornará status 402:
{
"error": {
"message": "Unprocessable"
}
}
Caso a estrutura esteja correta, um worker será executado e retornará status 201:
{
"message": "Success! Tweet scheduled."
}
Twitter Weather é construido em Ruby on Rails.
- Git
- Docker: no mac, nós recomendamos utilizar o Docker for Mac
- docker-compose
- Tenha certeza de ter todos os pré-requisitos instalados.
- Clone o repositório
git clone git@github.com:brunotoral/twitter_weather.git
- Construa o container de desenvolvimento
docker-compose build
. isso irá criar uma imagem docker nomeada detwitter_weather-dev
com todas as ferramentas requeridas. - Instale as dependência node com
docker-compose run runner yarn install
- Faça o setup do projeto com
docker-compose run runner bin/setup
- Inicie o servidor de desenvolvimento
docker-compose run rails
Tudo pronto! Bom desenvolvimento! 🎉
Você por rodar o servidor Rails usando o comando a seguir:
$ docker-compose up rails
Isso deixará a aplicação disponível em localhost:3000
.
No caso de precisar rodar o servidor Webpack Dev, use o comando a seguir:
$ docker-compose up rails webpacker
Você pode rodar qualquer Rake tasks, como db:migrate
, usando o comando a seguir:
$ docker-compose run runner be rails <rake-task>